Autor:Marian Szczykulski
Hash_set jest to zbiór, korzystający z funkcji mieszającej do szybkiego wyszukiwania elementów.
Szablon zbioru hash_set (kompilator GNU g++) jest następujący:
hash_set<Key,HashFcn, EqualKey, Alloc> | |
---|---|
Key | Typ przechowywanych obiektów |
HashFcn | Funkcja mieszająca (jest to funktor). Domyślnie hash<Key> |
EqualKey | Funktor do porównywania dwóch obiektów. Domyślnie equal_to<Key> |
Alloc | Alokator do zarządzania pamięcią. Domyślnie alloc |
Dla kompilatora Visual Studio (2008) szablon ten wygląda inaczej.
hash_set<Key,hash_compare,Alloc> | |
---|---|
Key | Typ przechowywanych objektów |
hash_compare | Jest to funktor który zawiera w sobie zarówno funkcje hashujaca jak i tą do porównywania dwóch objektów. Domyślnie hash_compare<Key , less<Key> |
Alloc | Alokator do zarządzania pamięcią.Domyślnie allocator<Key> |
Nazwa | Opis |
---|---|
iterator begin() const | Zwraca iterator wskazujący na początek zbioru hash_set |
iterator end() const | Zwraca iterator wskazający na koniec zbioru hash_set |
size_type size() const | Zwraca rozmiar zbioru |
size_type max_size() const | Zwraca największy możliwy rozmiar zbioru |
bool empty() const | Zwraca tru jeżeli rozmiar zbioru jest równy zero |
size_type bucket_count() const | Zwraca liczbę koszyków uzywanych przez zbiór hash_set |
void resize(size_type n) | Zwiększa liczbę koszyków do conajmniej n |
hasher hash_funct() const | Zwraca objekt(funktor) mieszający używany przez zbiór hash_set |
key_equal key_eq() const | Zwraca objekt(funktor) służący do porównywania objektów, używany przez zbiór hash_set |
hash_set& operator=(const hash_set&) | Operator przypisania. |
void swap(hash_set&) | Zamienia zawartości dwóch zbiorów hash_set. |
pair<iterator, bool> insert(const value_type& x) | Wstawia x do zbioru hash_set. |
template <class InputIterator>void insert(InputIterator f, InputIterator l) | Wstawia do zbioru hash_set podany zakres objektów (zakres podany za pomoca iteratorów) |
void erase(iterator pos) | Usuwa element wskazywany przez iterator pos |
size_type erase(const key_type& k) | Usuwa element o wartości klucza równej k |
void erase(iterator first, iterator last) | Usuwa podany zakres objektów |
void clear() | Usuwa cały zbiór |
iterator find(const key_type& k) const | Znajduje element o kluczu równym k |
size_type count(const key_type& k) const | Zlicza liczbę elementów, których klucz jest równy k. |
pair<iterator, iterator> equal_range(const key_type& k) const | Znajduje zakres wszystkich elementów o kluczu równym k. |
bool operator==(const hash_set&,const hash_set&) | Operator porównania. |
hash_set() | Konstruktor domyslny. Tworzy pusty zbiór. |
hash_set(size_type n) | Tworzy pusty zbiór hash_set z conajmniej n koszykami. |
hash_set(size_type n,const hasher& h) | Tworzy pusty zbiór hash_set z conajmniej n koszykami i korzystający z h jako funkcji mieszającej. |
hash_set(size_type n,const hasher& h,const key_equal& k) | Tworzy pusty zbiór hash_set z conajmniej n koszykami, korzystający z h jako funkcji mieszającej oraz k do porównywani objektów. |
template <class InputIterator> hash_set(InputIterator f, InputIterator l) | Tworzy zbiór hash_set jako kopię z podanego zakresu. |
template <class InputIterator> hash_set(InputIterator f, InputIterator l, size_type n) | Tworzy zbiór hash_set jako kopię z podanego zakresu i conajmniej n koszykami. |
template <class InputIterator>hash_set(InputIterator f, InputIterator size_type n, const hasher& h) | Tworzy zbiór hash_set jako kopię z podanego zakresu, conajmniej n koszykami oraz korzystającym z h jako funkcji mieszającej. |
hash_set(InputIterator f, InputIterator, size_type n, const hasher&, const key_equal& k) | Tworzy zbiór hash_set jako kopię z podanego zakresu, conajmniej n koszykami, korzystającym z h jako funkcji mieszającej oraz k do porównywania objektów. |
hash_set(const hash_set&) | Konstruktor kopiujący. |
— Marian Szczykulski 2008/12/09 01:32