some data structure and algorithms in c++