To jest stara wersja strony!
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:
template < class Key, class Compare = less<Key>, class Allocator = allocator<Key> > class set;
Szablon set przyjmuje 3 parametry:
explicit set ( const Compare& comp = Compare(), Allocator& = Allocator() );
Tworzy pusty zbiór, o zerowym rozmiarze, bez żadnych elementów.
Złożoność obliczeniowa - stała.
template <class InputIterator> set ( InputIterator first, InputIterator last, const Compare& comp= Compare(), const Allocator& = Allocator() );
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.
set ( const set<Key,Compare,Allocator>& x );
Tworzy kopię zbioru, zawierającą kopie wszystkich elementów.
Złożoność obliczeniowa - liniowa.
~set ( );
Niszczy obiekt wywołując destruktory dla wszystkich elementów które zawiera, i zwalnia całą przydzieloną pamięć.
Złożoność obliczeniowa - liniowa.
iterator begin (); const_iterator begin () const;
Zwraca iterator wskazujący na pierwszy element w zbiorze.
Złożoność obliczeniowa - stała.
iterator end (); const_iterator end () const;
Zwraca iterator wskazujący na element za ostatnim elementem w zbiorze.
Złożoność obliczeniowa - stała.
reverse_iterator rbegin(); const_reverse_iterator rbegin() const;
Zwraca odwrotny iterator wskazujący na ostatni element w zbiorze. Pozwala przejść po elementach w odwrotnej kolejności.
Złożoność obliczeniowa - stała.
reverse_iterator rend(); const_reverse_iterator rend() const;
Zwraca odwrotny iterator wskazujący na element przed pierwszym elementem.
Złożoność obliczeniowa - stała.
bool empty ( ) const;
Zwraca true jeśli zbiór jest pusty.
Złożoność obliczeniowa - stała.
size_type size() const;
Zwraca ilość elementów w zbiorze.
Złożoność obliczeniowa - stała.
size_type max_size () const;
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.
pair<iterator,bool> insert ( const value_type& x );
Dodawanie elementów do zbioru. x jest elementem który dodajemy.
Zwracana wartość to para zawierająca iterator na wstawiony element oraz zmienna bool która mówi o tym czy wstawienie się powiodło(mógł już istnieć element o tej samej wartości). Jeśli wstawienie nie powiodło się iterator wskazuje na element o wartości elementu wstawianego który już był w zbiorze.
Złożoność obliczeniowa - logarytmiczna.
iterator insert ( iterator position, const value_type& x );
Dodawanie elementów do zboiru z zaznaczeniem pozycji od której zacząć poszukiwanie miejsca na wstawienie elementu.
Może być w niektórych przypadkach szybsze niż zwykły insert.
Zwracana wartość to iterator na wstawiony, bądź już istniejący element.
Złożoność obliczeniowa - logarytmiczna.
template <class InputIterator> void insert ( InputIterator first, InputIterator last );
Wstawia elementy z zakresu iteratorów first i last. first wchodzi w zakres, last nie.
Złożoność obliczeniowa - logarytmiczna.