data structure and algorithm with C/C++