Basic Data Structures and Algorithm Implementations in C