This textbook provides an introduction to data structures and the Standard Template Library (STL), which has been recently accepted by the C++ Standards Committee. It provides a carefully integrated discussion of general data structures together with their implementation and use in the STL, thus teaching readers the important features of abstraction whilst using the STL to develop applications.Once programmers have grasped the basics of object-oriented programming and C++, the most important tool that they have at their disposal is the Standard Template Library (STL). This provides them with a library of re-usable objects and standard data structures. It has recently been accepted by the C++ Standards Committee. This textbook is an introduction to data structures and the STL. It provides a carefully integrated discussion of general data structures and their implementation and use in the STL. In so doing, the author is able to teach readers the important features of abstraction and how to develop applications using the STL.1. Data Structures and Algorithms.- 1.1 Data Abstraction and Encapsulation.- 1.2 Classes, Data Abstraction, Encapsulation, and Information Hiding.- 1.3 Derived Classes. Object Orientation.- 1.4 Templates.- 1.5 Which Data Abstractions Are Useful?.- 1.6 Abstractions Provided by the STL.- 1.7 Summary.- 1.8 Exercises.- 2. Programming with Arrays and Pointers.- 2.1 Arrays.- 2.1.1 An Example. A Guessing Game.- 2.1.2 Another Example. Array of Objects.- 2.2 Pointers and Arrays.- 2.3 Pointer Arithmetic.- 2.4 Arrays with More than One Dimension.- 2.5 Putting It Together. An Application.- 2.6 How the STL Generalizes Arrays and Pointers.- 2.7 Some Common Problems. Searching and Sorting.- 2.7.1 Linear Search in Arrays.- 2.7.2 Selection Sort.- 2.7.3 Binary Search.- 2.7.4 Quicksort.- 2.7.5 The Efficiency of These Algorithms.- 2.8 Using Arrays with the STL.- 2.9 Another Example. A Simple Database.- 2.10 Arrays That Contain Pointers.- 2.11 Another Use for Pointersl³»