Team LiB
Previous Section Next Section

Chapter 10. Generic Algorithms

 

Contents

 

Section 10.1 Overview

 

Section 10.2 A First Look at the Algorithms

 

Section 10.3 Customizing Operations

 

Section 10.4 Revisiting Iterators

 

Section 10.5 Structure of Generic Algorithms

 

Section 10.6 Container-Specific Algorithms

 

Chapter Summary

 

Defined Terms

 

The library containers define a surprisingly small set of operations. Rather than adding lots of functionality to each container, the library provides a set of algorithms, most of which are independent of any particular container type. These algorithms are generic: They operate on different types of containers and on elements of various types.

 

The generic algorithms, and a more detailed look at iterators, form the subject matter of this chapter.

 

The sequential containers define few operations: For the most part, we can add and remove elements, access the first or last element, determine whether a container is empty, and obtain iterators to the first or one past the last element.

 

We can imagine many other useful operations one might want to do: We might want to find a particular element, replace or remove a particular value, reorder the container elements, and so on.

 

Rather than define each of these operations as members of each container type, the standard library defines a set of generic algorithms: “algorithms” because they implement common classical algorithms such as sorting and searching, and “generic” because they operate on elements of differing type and across multiple container types—not only library types such as vector or list, but also the built-in array type—and, as we shall see, over other kinds of sequences as well.

 
Team LiB
Previous Section Next Section