Data Structures: A Pseudocode Approach with C