-5, 6, 9, 8, -2
Poniżej znajduje się zestaw znaków:
„B”, „M”, „A”, „C”, „T”, „O”, „Q”
Poniżej znajduje się zestaw ciągów (elementy w tabeli czytania):
„Lampa czytania”, „komputer”, „Pen”, „Pencil”, „ćwiczenia”, „Podręczniki”
W C ++ każda wartość w każdym z powyższych zestawów, nazywa się klucz.
W C ++ zestaw nie pozwala na duplikat wartości. Jednak nadal w C ++ multiset pozwala na duplikat wartości. Ten artykuł ustawiony i nie rozwiązuje multiset.
STD oznacza standard. Ten artykuł dotyczy sposobu utworzenia standardowego zestawu w C++. Dodanie elementów (wartości) do zestawu jest również wspomniane.
Biblioteka
C ++ ma jedną główną bibliotekę, zwaną standardową biblioteką C ++. Ta biblioteka zawiera sub biblioteki, które są również podzielone na kolejne sub biblioteki, które są podzielone dalej na bardziej sub biblioteki. Dolne sub-library można postrzegać jako moduły. Sub-ubibrarna zainteresowania pierwszego poziomu nazywa się biblioteką kontenerów. Biblioteka kontenerów ma subbibrarię, zwaną biblioteką kontenerów asocjacyjnych. Biblioteka kontenerów asocjacyjnych ma subbibrarę o nazwie Set Library. Tę bibliotekę zestawu można uznać za moduł. Aby zbiory kodu, należy je uwzględnić na początku programu w następujący sposób:
#włączać
#włączać
za pomocą przestrzeni nazw Std;
iostream powinien być zawsze uwzględniony, jeśli terminal (konsola) ma być używany do wyjścia (i wejścia). Drugi wiersz w tym segmencie kodu zawiera moduł ustawiony. Trzeci wiersz to stwierdzenie kończące się półkolisem, nalega na użycie standardowej przestrzeni nazw.
Aby skompilować program, z kompilatorem G ++ 20 dla C ++ 20, użyj następującego polecenia:
G ++ -Std = C ++ 2A nazwa pliku.CPP -O nazwa pliku
Uruchom program z:
./Nazwa pliku
Zakładając, że skompilowany plik znajduje się w katalogu użytkownika (Home).
Konstruowanie zestawu
Konstruowanie lub tworzenie zestawu jest głównym numerem tego artykułu. Istnieje wiele konstruktorów zestawu. Tylko najczęściej używane zostaną tutaj wyjaśnione.
Konstruowanie pustego zestawu
Poniższe stwierdzenie skonstruuje pusty zestaw:
ustawićst;
Zaczyna się od typu klasy. Następnie następują nawiasy kątowe, które mają typ elementów (wartości). Jest przestrzeń, a następnie nazwa zestawu (ST).
Wstawienie wartości
Elementy można wstawić metodą Insert () klasy SET, w następujący sposób:
ustawićst;
St.wstaw (-5); St.wstaw (6); St.wstaw (9);
St.wstaw (8); St.wstaw (-2);
Zestaw -5, 6, 9, 8, -2.
Zwracając iterator
Klasa zestawu nie ma operatora kwadratowych, jak tablica. Aby skanować elementy zestawu, potrzebny jest iterator. Jeśli nazwa zestawu jest ST, wówczas poniższe instrukcje zwróci iterator, który wskazuje na pierwszy element zestawu:
ustawić:: iterator iter = st.zaczynać();
Doceń składnię tego stwierdzenia.
Rozmiar zestawu
Poniższe stwierdzenie zwraca rozmiar zestawu:
int sz = st.rozmiar();
Zmienna, SZ, utrzymuje rozmiar zestawu.
Wartości odczytu zestawu
Poniższy program wykorzystuje iterator do odczytu wszystkich wartości w zestawie:
ustawićst;
St.wstaw (-5); St.wstaw (6); St.wstaw (9);
St.wstaw (8); St.wstaw (-2);
dla (set:: iterator iter = st.zaczynać(); iter != st.koniec(); ITER ++)
Cout << *iter << ", ";
Cout << endl;
Wyjście to:
-5, -2, 6, 8, 9,Zwróć uwagę, w jaki sposób użyto na pętlę i iterator. „St.end () ”zwraca iterator końcowy, który wskazuje tuż po ostatnim elemencie.
Z ciąży jako elementami moduł ciągów musi być dołączony do;
#włączać
Rozważ następujący kod z elementami ciągu:
ustawićst;
St.wstaw („Lampa czytania”); St.wstaw („komputer”); St.wstaw („Pen”);
St.wstaw („ołówek”); St.wstaw („książki ćwiczeń”); St.wstaw („podręczniki”);
dla (set:: iterator iter = st.zaczynać(); iter != st.koniec(); ITER ++)
Cout << *iter << ", ";
Cout << endl;
Wyjście to:
komputer, książki ćwiczeń, długopis, ołówek, lampa do czytania, podręczniki,Zauważ, że gdy wartości są dodawane za pomocą polecenia insert (), zestaw jest sortowany wewnętrznie.
Należy również pamiętać, że aby używać ciągów, klasa ciągów należy uwzględnić; W przeciwnym razie to wskaźniki do sznurków, które będą sortowane, a nie same literały alfabetyczne.
set (const set & x)
Jest to zestaw zestawu, który uznałby identyfikator innego zestawu jako argument, aby skonstruować nowy zestaw. Poniższy kod to ilustruje:
SET ST;
St.wstaw (-5); St.wstaw (6); St.wstaw (9); St.wstaw (8); St.wstaw (-2);
ustawićST2 (ST);
dla (set:: iterator ITER = ST2.zaczynać(); iter != ST2.koniec(); ITER ++)
Cout << *iter << ", ";
Cout << endl;
Wyjście to:
-5, -2, 6, 8, 9,set (inicitizer_list, const compare & = compare (), const alokator & = alokator ())
To jest konstruktor, w którym drugie i trzecie argumenty są opcjonalne. Gdy nie podano, wartości domyślne są wybierane przez C++. Pierwszym argumentem jest lista inicjalizator (tablica literała). Poniższy kod ilustruje użycie konstruktora:
ustawićst („b”, „m”, „a”, „c”, „t”, „o”, „q”);
dla (set:: iterator iter = st.zaczynać(); iter != st.koniec(); ITER ++)
Cout << *iter << ", ";
Cout << endl;
Wyjście to:
A, b, c, m, o, q, t,Zauważ, że dane wyjściowe jest sortowane, pomimo faktu, że wejście jest nieporadowanym listy inicjalizatora.
Notatka: W przypadku listy inicitizer_, nawiasy wywołania konstruktora, można pominąć, jak w następującym kodzie:
ustawićSt „B”, „M”, „A”, „C”, „T”, „O”, „Q”;
dla (set:: iterator iter = st.zaczynać(); iter != st.koniec(); ITER ++)
Cout << *iter << ", ";
Cout << endl;
Wyjście jest nadal:
A, b, c, m, o, q, t,Kopiuj konstruktory
Zestaw można utworzyć, przypisując identyfikator innego zestawu do identyfikatora nowego zestawu lub przypisując zestaw literalny (literał macierzy) do identyfikatora nowego zestawu.
set & operator = (const set & x)
To przypisuje identyfikator innego zestawu do identyfikatora nowego zestawu, jak pokazano, w ten sposób:
ustawićst;
St.wstaw („b”); St.wstaw („m”); St.wstaw („a”); St.wstaw („c”);
St.wstaw („t”); St.wstaw („o”); St.wstaw („q”);
ustawićST2 = ST;
dla (set:: iterator ITER = ST2.zaczynać(); iter != ST2.koniec(); ITER ++)
Cout << *iter << ", ";
Cout << endl;
Wyjście to:
A, b, c, m, o, q, t,set & operator = (inicitizer_list)
To przypisuje zestaw dosłowny (literał tablicy) do identyfikatora nowego zestawu, jak pokazano, w ten sposób:
ustawićst = „b”, „m”, „a”, „c”, „t”, „o”, „q”;
dla (set:: iterator iter = st.zaczynać(); iter != st.koniec(); ITER ++)
Cout << *iter << ", ";
Cout << endl;
Wyjście to:
A, b, c, m, o, q, t,Wniosek
Set Literal w C ++ jest podobny do matematyki. Zestaw, który nie jest sortowany, staje się sortowany, wznoszący się po budowie (tworzenie) z ustawieniami domyślnymi. STD oznacza standard. Powszechne sposoby tworzenia zestawu zostały zilustrowane powyżej.