Data Structure and Algorithm in C