data structure and algorithm in C++