Przykładem zestawu jest:
„Plum”, „BlackBerry”, „Morelot”, „Strawberry”, „Peach”, „Papaya”, „Guava”Jest to zestaw nazw owoców. Każda wartość tutaj nazywa się kluczem. To jest również ustalone dosłowne w C++. To też jest litera tablica. I jest to także lista inicjalizator.
Program C ++, który tworzy zestawy i struny, powinien zaczynać się w następujący sposób:
#włączaćWłączenie biblioteki iostream jest przeznaczone do wyjścia (i wejścia) do terminala (konsola). Włączenie biblioteki zestawu jest przeznaczone dla zestawów. Włączenie biblioteki ciągów dotyczy ciągów. Jeśli zamiast klasy sznurkowej użyte są wskazówki do char*, to wskaźniki do literałów charytatywnych będą sortowane, a nie same literały alfabetyczne smyczkowe. Są to wszystkie sub-library z głównej standardowej biblioteki w C++. STD w tytule tego artykułu oznacza standard. Czwarta linia nie jest dyrektywą. Jest to stwierdzenie, które kończy się w półkolisie. Twierdzi to, że każda nazwa, która nie jest poprzedzona standardową nazwą przestrzeni nazw, pochodzi ze standardowej przestrzeni nazw.
Uwaga: Gdy wartości zostały włożone do obiektu Set, są one sortowane wstępy, wewnętrznie, dla ustawień domyślnych.
Size_type Erase (const key_type i x)To usuwa klucz, którego nazwa jest argumentem funkcji członkowskiej Erase (). Programista musi z góry wiedzieć, że ten klucz istnieje w zestawie. Funkcja zwraca liczbę elementów wymazanych z zestawu. Poniższy program pokazuje, jak korzystać z tej funkcji członka:
#włączaćWyjście to:
1Iterator wymazujący (pozycja iteratora)
Ta funkcja członka usuwa klucz, na który wskazuje iterator. Poniższy kod to ilustruje:
setst („śliwka”, „blackberry”, „apricot”, „Strawberry”, „Peach”, „papaya”, „guava”);„Papaya” została usunięta. Gdy został usunięty, Guava zajął swoje miejsce przez wewnętrzne sortowanie. Dlatego Guava pojawiła się dwukrotnie w pierwszej linii wyjściowej.
Iterator Erase (pozycja Const_iterator)
Ta przeciążona funkcja członka jest taka sama jak powyższa, z wyjątkiem tego, że argument jest stałym iteratorem. Nadal zwraca normalny iterator. Zwrócony iterator wskazuje na następny element po usunięciu na podstawie wewnętrznego sortowania. Poniższy program ilustruje to wszystko:
setst („śliwka”, „blackberry”, „apricot”, „Strawberry”, „Peach”, „papaya”, „guava”);Iterator Erase (Const_iterator pierwszy, Const_iterator Last)
„First” to iterator wskazujący na element w sortowanym zestawie. „Last” to iterator wskazujący na element w sortowanym zestawie po pierwszym. Iteratory argumentów są stałymi iteratorami. Ta funkcja członka usuwa zakres, który zawiera element „pierwszy” i który wyklucza element na ostatni. Poniższy kod to ilustruje:
setst („śliwka”, „blackberry”, „apricot”, „Strawberry”, „Peach”, „papaya”, „guava”);Zakres „guawy, papai, brzoskwini”, z wyłączeniem „brzoskwini”, został usunięty.
Zastępując wartość
Zestaw w C ++ nie ma żadnej funkcji członka, aby zastąpić wartość; I to nie powinno. Wynika to z faktu, że za każdym razem, gdy wartość jest wstawiana, odbywa się całkowite ponowne sortowanie zestawu (lista). Zatem nie ma sensu zastąpić wartość, której pozycja zmieni się po ponownym sortowaniu. Niemniej jednak, jeśli wartość zostanie usunięta, można wstawić nową wartość, która ulegnie regulacji pozycji. W poniższym programie „BlackBerry” jest wymazany, a „Watermelon” jest wstawiany. Całkowity rozmiar pozostaje taki sam o 7.
#włączaćWyjście to:
Morelot, guawa, papaja, brzoskwini, śliwka, truskawka, arbuz,Wniosek
W C ++ klasa zestawu znajduje się w bibliotece zestawu głównej standardowej biblioteki C ++. Klasa SET ma cztery przeciążone funkcje członkowskie (). Jeden element można usunąć. Można również usunąć szereg elementów z wyłączeniem ostatniego elementu. Po każdej akcji usuwania zestaw jest ponownie sortowany wewnętrznie.
Zestaw w C ++ nie ma żadnej funkcji członka, aby zastąpić wartość; I to nie powinno. Wynika to z faktu, że za każdym razem, gdy wartość jest wkładana, następuje całkowite ponowne sortowanie zestawu (lista). Zatem nie ma sensu zastąpić wartość, której pozycja zmieni się po ponownym sortowaniu.