przejście do zawartości
zpr c++ quick reference
Narzędzia użytkownika
Zarejestruj się!
Zaloguj
Narzędzia witryny
Narzędzia
Pokaż stronę
Poprzednie wersje
Odnośniki
Ostatnie zmiany
Menadżer multimediów
Indeks
Zaloguj
Zarejestruj się!
Ostatnie zmiany
Menadżer multimediów
Indeks
Ślad:
•
multimap
opis_kontenera_set
Ta strona jest tylko do odczytu. Możesz wyświetlić źródła tej strony ale nie możesz ich zmienić.
====== SET ====== ===== Opis ===== Set - zbiór. Set jest kontenerem asocjacyjnym w którym elementy są kluczami. Wartości elementów są unikalne - w zbiorze nie mogą znajdować się dwa elementy których . Zbiór jest skonstruowany tak aby wyszukiwanie elementów według klucza było szybkie, natomiast wyszukiwanie po pozycji nie jest priorytetem. Elementy w zbiorze są uporządkowane od najmniejszego do największego. Podsumowując: * Unikalne elementy * Wartość elementu jest kluczem * Elementy są uporządkowane ===== Wykorzystanie ===== ==== Użycie szablonu ==== <code c++> template < class Key, class Compare = less<Key>, class Allocator = allocator<Key> > class set; </code> Szablon set przyjmuje 3 parametry: - **Key** - klasa reprezentująca elementy - **Compare** - klasa służąca do porównania dwóch elementów - wyrażenie **comp(a,b)** gdzie **//a,b//** to elementy, a **//comp//** to obiekt klasy **Compare** powinno zwrócić wartość true jeśli **//a//** ma być umieszczony przed **//b//**. Domyślnie wykorzystywany jest **//operator <//**. - **Allocator** - typ alokatora używany przy tworzeniu elementów. Domyślnie użyta jest klasa **allocator** ==== Metody ==== === Konstruktory i destruktory === == Konstruktor domyślny == <code c++> explicit set ( const Compare& comp = Compare(), Allocator& = Allocator() ); </code> Tworzy pusty zbiór, o zerowym rozmiarze, bez żadnych elementów. Złożoność obliczeniowa - stała. == Konstruktor iterujący == <code c++> template <class InputIterator> set ( InputIterator first, InputIterator last, const Compare& comp= Compare(), const Allocator& = Allocator() ); </code> Tworzy nowy zbiór który zawiera kopię elementów z podanego zakresu - pomiędzy **first**, a **last**. Złożoność obliczeniowa - liniowa jeśli elementy są posortowane według **comp**, dla nie posortowanych logarytmiczna. == Konstruktor kopiujący == <code c++> set ( const set<Key,Compare,Allocator>& x ); </code> Tworzy kopię zbioru, zawierającą kopie wszystkich elementów. Złożoność obliczeniowa - liniowa. == Destruktor domyślny == <code c++> ~set ( ); </code> Niszczy obiekt wywołując destruktory dla wszystkich elementów które zawiera, i zwalnia całą przydzieloną pamięć. Złożoność obliczeniowa - liniowa. === Iteratory === == begin == <code c++> iterator begin (); const_iterator begin () const; </code> Zwraca iterator wskazujący na pierwszy element w zbiorze. Złożoność obliczeniowa - stała. == end == <code c++> iterator end (); const_iterator end () const; </code> Zwraca iterator wskazujący na element za ostatnim elementem w zbiorze. Złożoność obliczeniowa - stała. == rbegin == <code c++> reverse_iterator rbegin(); const_reverse_iterator rbegin() const; </code> Zwraca odwrotny iterator wskazujący na ostatni element w zbiorze. Pozwala przejść po elementach w odwrotnej kolejności. Złożoność obliczeniowa - stała. == rend == <code c++> reverse_iterator rend(); const_reverse_iterator rend() const; </code> Zwraca odwrotny iterator wskazujący na element przed pierwszym elementem. Złożoność obliczeniowa - stała. === Pojemność === == empty == <code c++> bool empty ( ) const; </code> Zwraca true jeśli zbiór jest pusty. Złożoność obliczeniowa - stała. == size == <code c++> size_type size() const; </code> Zwraca ilość elementów w zbiorze. Złożoność obliczeniowa - stała. == max_size == <code c++> size_type max_size () const; </code> Zwraca maksymalną liczbę elementów jakie może zawierać zbiór, ze względu na ograniczenia systemu, oraz biblioteki. Złożoność obliczeniowa - stała.
opis_kontenera_set.1229096599.txt.gz
· ostatnio zmienione: 2008/12/12 16:43 przez
maciekc
Narzędzia strony
Pokaż stronę
Poprzednie wersje
Odnośniki
Do góry