data structure and algorithms with c language