Różnice między wybraną wersją a wersją aktualną.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
opis_kontenera_hash_multimap [2008/12/13 01:44] gmroziew |
opis_kontenera_hash_multimap [2008/12/13 03:40] gmroziew |
||
---|---|---|---|
Linia 1: | Linia 1: | ||
- | |||
===== Opis kontenera hash_multmap ===== | ===== 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 20: | Linia 19: | ||
|Alloc | Allokator pamięci. | | |Alloc | Allokator pamięci. | | ||
- | ====== Nagłówek 1 stopnia ====== | + | ===== Opis metod ===== |
- | ===== Nagłówek 2 stopnia ===== | + | |
- | === Nagłówek 4 stopnia === | + | |
- | == Nagłówek 5 stopnia == | + | |
- | ''Kod źródłowy'' | + | |
==== Kontruktory ==== | ==== Kontruktory ==== | ||
- | == hash_multimap() == | ||
- | == hash_multimap(size_type n) == | ||
- | == hash_multimap(size_type n, const hasher& h) == | ||
- | * hash_multimap(size_type n, const hasher& h, const key_equal& k) | ||
- | * template <class InputIterator> hash_multimap(InputIterator, InputIterator) | + | * __hash_multimap()__ : kontruktor domyślny |
- | * template <class InputIterator> hash_multimap(InputIterator, InputIterator, size_type n) | + | * __hash_multimap(size_type n)__ : konstruktor ze wskazanie ilości pojemników mapy //n// |
- | * template <class InputIterator> hash_multimap(InputIterator, InputIterator, 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// |
- | * template <class InputIterator> hash_multimap(InputIterator, InputIterator, 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) : 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, const hasher& h)__ | ||
+ | * __template <class InputIterator> hash_multimap(InputIterator, InputIterator, size_type n, const hasher& h, const key_equal& k)__ | ||
+ | |||
+ | ==== Dodawanie elementów ==== | ||
+ | * __iterator insert(const value_type& x)__ - Wstawia element //x// | ||
+ | * __template <class InputIterator> void insert(InputIterator, InputIterator)__ - Wstawia kolekcję zdefiniowaną przez iteratory wskazujące na jej początek i koniec | ||
+ | ==== Usuwanie elementów ==== | ||
+ | * __void erase(iterator pos)__ : Usuwa element wskazany przez iterator //pos// | ||
+ | * __size_type erase(const key_type& k)__ : Usuwa elementy identyfikowane kluczem //k// | ||
+ | * __void erase(iterator first, iterator last)__ : Usuwa elementy z zakresu wskazanego iteratorami //first// - //last// | ||
+ | * __void clear()__ : Czyści kolekcję | ||
+ | ==== Wyszukiwanie elementów ==== | ||
+ | * __const_iterator find(const key_type& k) const__ : Zwraca iterator wskazujący na element o kluczu //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__ : Zwraca parę iteratorów wskazujących na kolekcję elementów o kluczu //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__ : Zwraca liczbę elementów kolekcji identyfikowanych kluczem //k// | ||
+ | ==== 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|}} |