ADTs, data structures, and problem solving with C++ - Nyhoff, Larry R.