Różnice między wybraną wersją a wersją aktualną.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
opis_kontenera_hash_multimap [2008/12/13 02:00] gmroziew |
opis_kontenera_hash_multimap [2008/12/13 03:45] (aktualna) gmroziew |
||
|---|---|---|---|
| Linia 1: | Linia 1: | ||
| - | + | ===== Opis kontenera hash_multimap ===== | |
| - | ===== Opis kontenera hash_multmap ===== | + | |
| Autor: Grzegorz Mroziewicz | Autor: Grzegorz Mroziewicz | ||
| Linia 8: | Linia 7: | ||
| Kontener hash_multimap jest mapą służącą do przechowywania par obiektów klucz-wartość. | Kontener hash_multimap jest mapą służącą do przechowywania par obiektów klucz-wartość. | ||
| - | Wartość klucza Key nie musi być unikalna. Kontener pozwala przechowywać wiele elementów o zadanym kluczu oraz udostępnia metody do | + | Wartość klucza //Key// nie musi być unikalna. Kontener pozwala przechowywać wiele elementów o zadanym kluczu oraz udostępnia metody do |
| - | wyszukiwania i zliczania elementów o podanym kluczu. Wykorzystaniu funkcji mieszającej HashFcn pozwala osiągnąć lepszą złożoność czasową wyszukiwania elementów w mapie. | + | wyszukiwania i zliczania elementów o podanym kluczu. Wykorzystaniu funkcji mieszającej //HashFcn// pozwala osiągnąć lepszą złożoność czasową wyszukiwania elementów w mapie. |
| - | Typy : | + | ===== Typy szablonu ===== |
| ^Nazwa^Opis^ | ^Nazwa^Opis^ | ||
| |Key|Typ klucza dla pary elementów kontenera.| | |Key|Typ klucza dla pary elementów kontenera.| | ||
| Linia 19: | Linia 18: | ||
| |EqualKey | Funktor określający czy klucze są sobie równe ( equal_to<Key> ).| | |EqualKey | Funktor określający czy klucze są sobie równe ( equal_to<Key> ).| | ||
| |Alloc | Allokator pamięci. | | |Alloc | Allokator pamięci. | | ||
| + | |||
| + | ===== Opis metod ===== | ||
| ==== Kontruktory ==== | ==== Kontruktory ==== | ||
| - | * hash_multimap() | + | * __hash_multimap()__ : kontruktor domyślny |
| - | * hash_multimap(size_type n) | + | * __hash_multimap(size_type n)__ : konstruktor ze wskazanie ilości pojemników mapy //n// |
| - | * hash_multimap(size_type n, const hasher& h) | + | * __hash_multimap(size_type n, const hasher& h)__ : konstruktor ze wskazanie ilości pojemników mapy //n// i funkcji mieszającej //h// |
| - | * hash_multimap(size_type n, const hasher& h, const key_equal& k) | + | * __hash_multimap(size_type n, const hasher& h, const key_equal& k)__ : konstruktor ze wskazanie ilości pojemników mapy //n//, funkcji mieszającej //h// i binarnego predykatu do porównywania kluczy //k// |
| - | + | * __hash_multimap(const hash_multimap&)__ : konstruktor kopiujący | |
| - | * template <class InputIterator> hash_multimap(InputIterator, InputIterator) | + | * template <class InputIterator> hash_multimap(InputIterator, InputIterator) : konstruktor inicjujący mapę kolekcją określoną przez iteratory wskazujące na jej początek i koniec |
| - | * template <class InputIterator> hash_multimap(InputIterator, InputIterator, size_type n) | + | * __template <class InputIterator> hash_multimap(InputIterator, InputIterator, size_type n)__ |
| - | * template <class InputIterator> hash_multimap(InputIterator, InputIterator, size_type n, const hasher& h) | + | * __template <class InputIterator> hash_multimap(InputIterator, InputIterator, size_type n, const hasher& h)__ |
| - | * template <class InputIterator> hash_multimap(InputIterator, InputIterator, size_type n, const hasher& h, const key_equal& k) | + | * __template <class InputIterator> hash_multimap(InputIterator, InputIterator, size_type n, const hasher& h, const key_equal& k)__ |
| ==== Dodawanie elementów ==== | ==== Dodawanie elementów ==== | ||
| - | * iterator insert(const value_type& x) | + | * __iterator insert(const value_type& x)__ - Wstawia element //x// |
| - | * template <class InputIterator> void insert(InputIterator, InputIterator); | + | * __template <class InputIterator> void insert(InputIterator, InputIterator)__ - Wstawia kolekcję zdefiniowaną przez iteratory wskazujące na jej początek i koniec |
| ==== Usuwanie elementów ==== | ==== Usuwanie elementów ==== | ||
| - | * void erase(iterator pos) | + | * __void erase(iterator pos)__ : Usuwa element wskazany przez iterator //pos// |
| - | * size_type erase(const key_type& k) | + | * __size_type erase(const key_type& k)__ : Usuwa elementy identyfikowane kluczem //k// |
| - | * void erase(iterator first, iterator last) | + | * __void erase(iterator first, iterator last)__ : Usuwa elementy z zakresu wskazanego iteratorami //first// - //last// |
| - | * void clear() | + | * __void clear()__ : Czyści kolekcję |
| ==== Wyszukiwanie elementów ==== | ==== Wyszukiwanie elementów ==== | ||
| - | * const_iterator find(const key_type& k) const | + | * __const_iterator find(const key_type& k) const__ : Zwraca iterator wskazujący na element o kluczu //k// |
| - | * iterator find(const key_type& k) | + | * __iterator find(const key_type& k)__ : Zwraca iterator wskazujący na element o kluczu //k// |
| - | * pair<const_iterator, const_iterator> equal_range(const key_type& k) const | + | * __pair<const_iterator, const_iterator> equal_range(const key_type& k) const__ : Zwraca parę iteratorów wskazujących na kolekcję elementów o kluczu //k// |
| - | * pair<iterator, iterator> equal_range(const key_type& k) | + | * __pair<iterator, iterator> equal_range(const key_type& k)__ : Zwraca parę iteratorów wskazujących na kolekcję elementów o kluczu //k// |
| - | * size_type count(const key_type& k) const | + | * __size_type count(const key_type& k) const__ : Zwraca liczbę elementów kolekcji identyfikowanych kluczem //k// |
| - | + | ||
| - | + | ||
| - | ==== Paramatry kontenera ==== | + | |
| - | * size_type size() const | + | |
| - | * size_type max_size() const | + | |
| - | * bool empty() const | + | |
| - | * size_type bucket_count() const | + | |
| - | * void resize(size_type n) | + | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| + | ==== Parametry kontenera ==== | ||
| + | * __size_type size() const__ : Zwraca aktualny rozmiar mapy | ||
| + | * __size_type max_size() const__ : Zwraca maksymalny dozwolony rozmiar mapy | ||
| + | * __bool empty() const__ : Zwraca wartość //true// gdy mapa jest pusta | ||
| + | * __size_type bucket_count() const__ : Zwraca ilość pojemników mapy | ||
| + | * __void resize(size_type n)__ : Zmienia rozmiar pojemnika na wartość //n// | ||
| + | * __hasher hash_funct() const__ : Zwraca obiekt udostepniający funkcję mieszającą mapy | ||
| + | * __key_equal key_eq() const__ : Zwraca obiekt udostępniający binarny predykat używany do porównywania kluczy | ||
| + | ==== Inne ==== | ||
| + | * __void swap(hash_multimap&)__ : Zamienia zawartość dwóch kontenerów | ||
| - | {{:hash_multimap.cpp}} | + | == Przykładowy program == |
| + | {{:hash_multimap.cpp|}} | ||