===== Temat:Opis kontenera Hash_set ===== //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**|Typ przechowywanych obiektów| |**HashFcn**|Funkcja mieszająca (jest to funktor). Domyślnie hash| |**EqualKey**|Funktor do porównywania dwóch obiektów. Domyślnie equal_to| |**Alloc**|Alokator do zarządzania pamięcią. Domyślnie alloc| Dla kompilatora Visual Studio (2008) szablon ten wygląda inaczej. ^** hash_set**^^ |**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 | |**Alloc**|Alokator do zarządzania pamięcią.Domyślnie allocator| ---- ====== Funkcje: ====== ^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 insert(const value_type& x)|Wstawia x do zbioru hash_set.| |template 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 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.| ====== Konstruktory: ====== |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 hash_set(InputIterator f, InputIterator l)|Tworzy zbiór hash_set jako kopię z podanego zakresu.| |template hash_set(InputIterator f, InputIterator l, size_type n)|Tworzy zbiór hash_set jako kopię z podanego zakresu i conajmniej n koszykami.| |template 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.| --- //[[M.Szczykulski@stud.elka.pw.edu.pl|Marian Szczykulski]] 2008/12/09 01:32//