Programs and Data Structures in C: Based on ANSI C and C++, 2nd Edition