C++/Set
< C++
Opis
edytujZbiory są jednym z kontenerów biblioteki STL, których struktura oparta jest na drzewach. Elementy które są w nich przechowywane są posortowane, według pewnego klucza.
Zarówno typ wartości tych elementów jak i typ wartości klucza są takie same. Drzewiasta struktura zapewnia szybkie wyszukiwanie, jednak są z tym związane także pewne mankamenty, mianowicie modyfikacja elementu jest możliwa tylko w taki sposób, że kasujemy stary element, a następnie wstawiamy w to miejsce nowy.
Korzystając z terminologii STL-a zbiory są tzw. kontenerami asocjacyjnymi (o zmiennej długości, pozwalającymi na operowanie elementami przy użyciu kluczy).
Prosty przykład
edytujOpis użytych tu iteratorów znajduje się w rozdziale Iteratory.
#include <iostream>
#include <string>
#include <set>
using namespace std;
int main()
{
set<string> mapa;
mapa.insert("Lublin");
mapa.insert("Łódź");
mapa.insert("Warszawa");
mapa.insert("Kraków");
set<string>::iterator result, it;
// szuka elementu "Warszawa"
result = mapa.find("Warszawa");
if( result!=mapa.end() )
cout << "Znalazłem! " << *result<< '\n';
// wyświetlenie zawartości
for( it=mapa.begin(); it!=mapa.end(); ++it)
cout << *it<< '\n';
return 0;
}