Data Structures in C++ Including Breadth and Laboratories