add diameter.cpp, modify hash.cpp