Data Structures in C++: Using the Standard Template Library (STL)