Narzędzia użytkownika

Narzędzia witryny


opis_kontenera_set

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Previous revision
Next revision
Previous revision
opis_kontenera_set [2008/12/12 16:43]
maciekc
opis_kontenera_set [2008/12/12 17:51] (aktualna)
maciekc
Linia 38: Linia 38:
 explicit set ( const Compare&​ comp = Compare(), Allocator&​ = Allocator() ); explicit set ( const Compare&​ comp = Compare(), Allocator&​ = Allocator() );
 </​code>​ </​code>​
-Tworzy pusty zbiór, o zerowym rozmiarze, bez żadnych elementów.+Tworzy pusty zbiór, o zerowym rozmiarze, bez żadnych elementów.\\
 Złożoność obliczeniowa - stała. Złożoność obliczeniowa - stała.
  
Linia 46: Linia 46:
 const Compare&​ comp= Compare(), const Allocator&​ = Allocator() ); const Compare&​ comp= Compare(), const Allocator&​ = Allocator() );
 </​code>​ </​code>​
-Tworzy nowy zbiór który zawiera kopię elementów z podanego zakresu - pomiędzy **first**, a **last**.+Tworzy nowy zbiór który zawiera kopię elementów z podanego zakresu - pomiędzy **first**, a **last**. ​**//​first//​** wchodzi w zakres, **//​last//​** nie.\\
 Złożoność obliczeniowa - liniowa jeśli elementy są posortowane według **comp**, dla nie posortowanych logarytmiczna. Złożoność obliczeniowa - liniowa jeśli elementy są posortowane według **comp**, dla nie posortowanych logarytmiczna.
  
Linia 53: Linia 53:
 set ( const set<​Key,​Compare,​Allocator>&​ x ); set ( const set<​Key,​Compare,​Allocator>&​ x );
 </​code>​ </​code>​
-Tworzy kopię zbioru, zawierającą kopie wszystkich elementów.+Tworzy kopię zbioru, zawierającą kopie wszystkich elementów.\\
 Złożoność obliczeniowa - liniowa. Złożoność obliczeniowa - liniowa.
  
Linia 60: Linia 60:
 ~set ( ); ~set ( );
 </​code>​ </​code>​
-Niszczy obiekt wywołując destruktory dla wszystkich elementów które zawiera, i zwalnia całą przydzieloną pamięć.+Niszczy obiekt wywołując destruktory dla wszystkich elementów które zawiera, i zwalnia całą przydzieloną pamięć.\\
 Złożoność obliczeniowa - liniowa. Złożoność obliczeniowa - liniowa.
  
Linia 70: Linia 70:
 const_iterator begin () const; const_iterator begin () const;
 </​code>​ </​code>​
-Zwraca iterator wskazujący na pierwszy element w zbiorze.+Zwraca iterator wskazujący na pierwszy element w zbiorze.\\
 Złożoność obliczeniowa - stała. Złożoność obliczeniowa - stała.
  
Linia 78: Linia 78:
 const_iterator end () const; const_iterator end () const;
 </​code>​ </​code>​
-Zwraca iterator wskazujący na element za ostatnim elementem w zbiorze.+Zwraca iterator wskazujący na element za ostatnim elementem w zbiorze.\\
 Złożoność obliczeniowa - stała. Złożoność obliczeniowa - stała.
  
Linia 86: Linia 86:
 const_reverse_iterator rbegin() const; const_reverse_iterator rbegin() const;
 </​code>​ </​code>​
-Zwraca odwrotny iterator wskazujący na ostatni element w zbiorze. Pozwala przejść po elementach w odwrotnej kolejności.+Zwraca odwrotny iterator wskazujący na ostatni element w zbiorze. Pozwala przejść po elementach w odwrotnej kolejności.\\
 Złożoność obliczeniowa - stała. Złożoność obliczeniowa - stała.
  
Linia 94: Linia 94:
 const_reverse_iterator rend() const; const_reverse_iterator rend() const;
 </​code>​ </​code>​
-Zwraca odwrotny iterator wskazujący na element przed pierwszym elementem.+Zwraca odwrotny iterator wskazujący na element przed pierwszym elementem.\\
 Złożoność obliczeniowa - stała. Złożoność obliczeniowa - stała.
  
Linia 103: Linia 103:
 bool empty ( ) const; bool empty ( ) const;
 </​code>​ </​code>​
-Zwraca true jeśli zbiór jest pusty.+Zwraca true jeśli zbiór jest pusty.\\
 Złożoność obliczeniowa - stała. Złożoność obliczeniowa - stała.
  
Linia 110: Linia 110:
 size_type size() const; size_type size() const;
 </​code>​ </​code>​
-Zwraca ilość elementów w zbiorze.+Zwraca ilość elementów w zbiorze.\\
 Złożoność obliczeniowa - stała. Złożoność obliczeniowa - stała.
  
Linia 117: Linia 117:
 size_type max_size () const; size_type max_size () const;
 </​code>​ </​code>​
-Zwraca maksymalną liczbę elementów jakie może zawierać zbiór, ze względu na ograniczenia systemu, oraz biblioteki.+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. Złożoność obliczeniowa - stała.
  
 +=== Modyfkiacja zawartości ===
 +
 +== insert ==
 +<code c++>
 +pair<​iterator,​bool>​ insert ( const value_type&​ x );
 +</​code>​
 +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.
 +
 +<code c++>
 +iterator insert ( iterator position, const value_type&​ x );
 +</​code>​
 +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.
 +
 +<code c++>
 +template <class InputIterator>​
 +      void insert ( InputIterator first, InputIterator last );
 +</​code>​
 +Wstawia elementy z zakresu iteratorów **//​first//​** i **//​last//​**. **//​first//​** wchodzi w zakres, **//​last//​** nie.\\
 +Złożoność obliczeniowa - logarytmiczna.
 +
 +== erase ==
 +<code c++>
 +void erase ( iterator position );
 +</​code>​
 +Usunięcie elementu wskazywanego przez iterator.\\
 +Złożoność obliczeniowa - stała.
 +
 +<code c++>
 +size_type erase ( const key_type&​ x );
 +</​code>​
 +Usunięcie elementu o podanej wartości.\\
 +Zwraca 1 jeśli usunięto, 0 jeśli nie było elementu o podanej wartości.\\
 +Złożoność obliczeniowa - logarytmiczna.
 +
 +<code c++>
 +void erase ( iterator first, iterator last );
 +</​code>​
 +Usuwa elementy z zakresu iteratorów **//​first//​** i **//​last//​**. **//​first//​** wchodzi w zakres, **//​last//​** nie.\\
 +Złożoność obliczeniowa - logarytmiczna.
 +
 +== swap ==
 +<code c++>
 +void swap ( set<​Key,​Compare,​Allocator>&​ st );
 +</​code>​
 +Zamienia elementy z elementami w drugim zbiorze. Elementy z pierwszego zbioru znajdują się w drugim, a elementy z drugiego w pierwszym. Iteratory, referencje i wskaźniki pozostają aktualne po zamianie.\\
 +Złożoność obliczeniowa - stała.
 +
 +== clear ==
 +<code c++>
 +void clear ( );
 +</​code>​
 +Usuwa wszystkie elementy ze zbioru.
 +Złożoność obliczeniowa - liniowa.
 +
 +=== Porównywanie ===
 +== key_comp, value_comp ==
 +<code c++>
 +key_compare key_comp ( ) const;
 +value_compare value_comp ( ) const;
 +</​code>​
 +Zwraca obiekt przyjmujący 2 parametry umożliwiający porównanie 2 elementów
 +**comp(a,​b)** gdzie **//a,b//** to elementy, a **//​comp//​** to obiekt zwrócony przez **//​key_vomp//​**,​ lub **//​value_comp//​** , zwraca wartość true jeśli **//a//** jest mniejszy niż **//​b//​**.\\
 +W przypadku zbioru **//​key_comp//​** i **//​value_comp//​** zwracają to samo gdyż elementy są kluczami.\\
 +Złożoność obliczeniowa - stała.
 +
 +=== Operacje ===
 +== find ==
 +<code c++>
 +iterator find ( const key_type&​ x ) const;
 +</​code>​
 +Zwraca iterator wskazujący na element o podanej wartości. Jeśli element nie zostanie znaleziony to zwracany jest iterator end.\\
 +Złożoność obliczeniowa - logarytmiczna.
 +
 +== count ==
 +<code c++>
 +size_type count ( cont key_type&​ x ) const;
 +</​code>​
 +Zwraca ilość elementów o podanej wartości. Dla zbioru zwraca 1, lub 0 w zależności czy element został znaleziony.\\
 +Złożoność obliczeniowa - logarytmiczna.
 +
 +== lower_bound ==
 +<code c++>
 +iterator lower_bound ( const key_type&​ x ) const;
 +</​code>​
 +Zwraca iterator wskazujący na najmniejszy element który jest większy bądź równy podanemu.\\
 +Złożoność obliczeniowa - logarytmiczna.
 +
 +== upper_bound ==
 +<code c++>
 +iterator upper_bound ( const key_type&​ x ) const;
 +</​code>​
 +Zwraca iterator wskazujący na najmniejszy element który jest większy od podanego.\\
 +Złożoność obliczeniowa - logarytmiczna.
 +
 +== equal_range ==
 +<code c++>
 +pair<​iterator,​iterator>​ equal_range ( const key_type&​ x ) const;
 +</​code>​
 +Zwraca zakres elementów o podanej wartości. W przypadku zbioru zwraca zakres o długości 1, lub 0.
 +Jeśli element o podanej wartości zostanie znaleziony zostaje on zwrócony jako pierwszy iterator, drugi iterator wskazuje na element za nim. Jesli element nie zostanie znaleziony pierwszy i drugi iterator wskazują na najmniejszy element większy od podanego.\\
 +Złożoność obliczeniowa - logarytmiczna.
opis_kontenera_set.1229096582.txt.gz · ostatnio zmienione: 2008/12/12 16:43 przez maciekc