Narzędzia użytkownika

Narzędzia witryny


opis_kontenera:multiset

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:multiset [2008/12/12 22:25]
marcink
opis_kontenera:multiset [2008/12/13 02:55] (aktualna)
marcink
Linia 41: Linia 41:
  
  
-===== Metody i Typy =====+===== Typy =====
  
-==== Zdefiniowane typy ==== +==== Iteratory ​====
- +
-=== Iteratory ​===+
  
 Zdefiniowane są następujące typy iteratorów:​ Zdefiniowane są następujące typy iteratorów:​
Linia 53: Linia 51:
   * multiset::​const_reverse_iterator - pozwala na sekwencyjny dostęp do elementów multizbioru (od końca do początku, bez możliwości zmiany ich)   * multiset::​const_reverse_iterator - pozwala na sekwencyjny dostęp do elementów multizbioru (od końca do początku, bez możliwości zmiany ich)
  
-=== Referencje ===+==== Referencje ​====
  
 Zdefiniowane są następujące typy referencji: Zdefiniowane są następujące typy referencji:
Linia 59: Linia 57:
   * multiset::​const_reference - typ będący stała referencją do elementów multizbioru   * multiset::​const_reference - typ będący stała referencją do elementów multizbioru
  
-=== Inne ===+==== Inne ====
  
 Inne zdefiniowane typy to: Inne zdefiniowane typy to:
Linia 67: Linia 65:
   * multiset::​difference_type ​                      - typ określający odległość pomiędzy elementami (może być ze znakiem)   * multiset::​difference_type ​                      - typ określający odległość pomiędzy elementami (może być ze znakiem)
  
 +
 +===== Metody =====
 +
 +==== Konstruktory ====
 +
 +=== multiset() ===
 +Konstruktor domyślny, tworzący pusty multizbiór.
 +
 +=== multiset(const key_compare&​ comp) ===
 +Tworzy pusty multizbiór,​ używający podanego obiektu do porównywania elementów.
 +
 +=== template <class InputIterator>​ multiset(InputIterator f, InputIterator l) ===
 +Tworzy multizbiór,​ posiadający elementy z zadanego zakresu.
 +
 +=== template <class InputIterator>​ multiset(InputIterator f, InputIterator l, const key_compare&​ comp) ===
 +Tworzy multizbiór,​ posiadający elementy z zadanego zakresu i używający podanego obiektu do porównywania elementów.
 +
 +=== multiset(const multiset&​) ===
 +Konstruktor kopiujący.
 +
 +
 +==== Ustawianie iteratorów ====
 +
 +=== begin ===
 +  * iterator begin ();
 +  * const_iterator begin () const;
 +
 +Zwraca iterator wskazujący na pierwszy element.
 +
 +=== end ===
 +  * iterator end ();
 +  * const_iterator end () const;
 +
 +Zwraca iterator wskazujący na element za ostatnim.
 +
 +=== rbegin ===
 +  * reverse_iterator rbegin();
 +  * const_reverse_iterator rbegin() const;
 +
 +Zwraca odwrotny iterator wskazujący na ostatni element.
 +
 +=== rend ===
 +  * reverse_iterator rend();
 +  * const_reverse_iterator rend() const;
 +
 +Zwraca odwrotny iterator wskazujący na element przed pierwszym elementem.
 +
 +
 +==== Zliczanie elementów ====
 +
 +  * bool empty() const                       - zwraca true, gdy multizbiór jest pusty, w przeciwnym przypadku false
 +  * size_type count(const key_type&​ k) const - zwraca liczbę wystąpień elementów o zadanym kluczu
 +  * size_type size() const                   - podaje liczbę elementów w multizbiorze  ​
 +
 +==== Wyszukiwanie elementów ====
 +
 +  * iterator find(const key_type&​ k) const   - Zwraca pierwszy element o zadanym kluczu.
 +  * iterator lower_bound(const key_type&​ k) const - Zwraca pierwszy element którego klucz nie jest mniejszy od zadanego klucza.
 +  * iterator upper_bound(const key_type&​ k) const - Zwraca pierwszy element, którego klucz jest większy od zadanego.
 +
 +Jeśli nie istnieje taki element to funkcje te zwracają end()
 +
 +  * pair<​iterator,​ iterator>​ equal_range(const key_type&​ k) const - Zwraca zakres elementów o zadanym kluczu.
 +
 +Zakres elementów można też uzyskać za pomocą: pair<​iterator,​ iterator>​( multiset::​lower_bound(key),​ multiset::​upper_bound(key))
 +
 +==== Dodawanie elementów ====
 +
 +  * iterator insert(const value_type&​ x)        - dodaje x do multizbioru.
 +  * iterator insert(iterator pos, const value_type&​ x) - dodaje x do multizbioru,​ używając pos jako wskazanie gdzie dany element ma zostać wstawiony
 +  * template <class InputIterator> ​
 +             void insert(InputIterator,​ InputIterator) - dodaje elementy z zadanego zakresu
 +
 +
 +==== Usuwanie elementów ====
 +
 +  * iterator erase(iterator pos)           - usuwa element wskazywany przez iterator (zwraca iterator na element za osuniętym)
 +  * size_type erase(const key_type&​ k)           - usuwa wszystkie elementy o podanym kluczu
 +  * iterator erase(iterator first, iterator last) - usuwa elementy podanego zakresu <​first,​last) (zwraca iterator na element za ostatnim usunietym)
 +  * void clear() ​                                 - usuwa wszystkie elementy
 +
 +Aby usunąć jeden element o zadanym kluczu należy użyć następującej konstrukcji:​ erase( find(k) )
  
 ===== Przykładowy program z zastosowaniem ===== ===== Przykładowy program z zastosowaniem =====
  
-[[:multiset:​multiset.cpp|Przykładowy program pokazujący działanie multiset.]]+{{:opis_kontenera:​multiset.cpp|Przykładowy program pokazujący działanie multiset.}}
  
  
opis_kontenera/multiset.1229117141.txt.gz · ostatnio zmienione: 2008/12/12 22:25 przez marcink