stl/algo2.cpp

Das folgende Code-Beispiel stammt aus dem Buch
Objektorientiertes Programmieren in C++ - Ein Tutorial für Ein- und Umsteiger
von Nicolai Josuttis, Addison-Wesley München, 2001
© Copyright Nicolai Josuttis 2001


#include <iostream>
#include <vector>
#include <algorithm>
#include <string>

int main()
{
    std::vector<std::string> menge;            // Container für Strings
    std::vector<std::string>::iterator pos;    // Iterator

    // Verschiedene Städtenamen einfügen
    menge.push_back("Hamburg");
    menge.push_back("München");
    menge.push_back("Berlin");
    menge.push_back("Braunschweig");
    menge.push_back("Duisburg");
    menge.push_back("Leipzig");

    // alle Elemente aufsteigend sortieren
    std::sort (menge.begin(), menge.end());

    /* "Hannover" vor "Hamburg" einfügen
     * - Position von "Hamburg" suchen
     * - "Hannover" davor einfügen
     */
    pos = find (menge.begin(), menge.end(),    // Bereich
                "Hamburg");                    // Suchkriterium
    if (pos != menge.end()) {
        menge.insert(pos,"Hannover");
    }
    else {
        std::cerr << "Huch, Hamburg ist gar nicht vorhanden"
                  << std::endl;
        menge.push_back("Hannover");
    }

    // alle Elemente ausgeben
    for (pos=menge.begin(); pos!=menge.end(); ++pos) {
        std::cout << *pos << ' ';
    }
    std::cout << std::endl;
}