Różnice między wybraną wersją a wersją aktualną.
Next revision | Previous revision | ||
opis_kontenera:hash_set [2008/12/09 01:06] mszczyku utworzono |
opis_kontenera:hash_set [2008/12/09 01:37] (aktualna) mszczyku |
||
---|---|---|---|
Linia 1: | Linia 1: | ||
- | ** Hash_set**=== Nagłówek 4 stopnia === | ||
- | **Hash_set** jest to zbiór, korzystający z funkcji mieszającej do szybkiego wyszukiwania elementów. | + | |
+ | ===== 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: | Szablon zbioru hash_set (kompilator GNU g++) jest następujący: | ||
- | **hash_set<Key, HashFcn, EqualKey, Alloc>** | + | ^**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| | ||
- | **Key** - Typ przechowywanych obiektów | + | Dla kompilatora Visual Studio (2008) szablon ten wygląda inaczej. |
- | **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ą. | + | ^** hash_set<Key,hash_compare,Alloc>**^^ |
- | Domyślnie alloc | + | |**Key**|Typ przechowywanych objektów| |
- | __Uwaga:__**Pogrubienie** | + | |**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> | |
- | Dla kompilatora Visual Studio (2008) szablon ten wygląda inaczej. | + | |**Alloc**|Alokator do zarządzania pamięcią.Domyślnie allocator<Key>| |
+ | |||
+ | ---- | ||
- | ** 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> | ||
====== Funkcje: ====== | ====== Funkcje: ====== | ||
^Nazwa^Opis^ | ^Nazwa^Opis^ | ||
- | + | |iterator begin() const |Zwraca iterator wskazujący na początek zbioru hash_set| | |
- | |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| |
- | |iterator end() const|zwraca iterator wskazający na koniec zbioru hash_set| | + | |size_type size() const|Zwraca rozmiar zbioru| |
- | |size_type size() const|zwraca rozmiar zbioru| | + | |size_type max_size() const|Zwraca największy możliwy 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| |
- | |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| |
- | |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| |
- | |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| |
- | |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| |
- | |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.| | |hash_set& operator=(const hash_set&)|Operator przypisania.| | ||
|void swap(hash_set&)|Zamienia zawartości dwóch zbiorów hash_set.| | |void swap(hash_set&)|Zamienia zawartości dwóch zbiorów hash_set.| | ||
Linia 51: | Linia 50: | ||
|bool operator==(const hash_set&,const hash_set&)|Operator porównania.| | |bool operator==(const hash_set&,const hash_set&)|Operator porównania.| | ||
+ | |||
+ | ====== Konstruktory: ====== | ||
- | 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() Konstruktor domyslny. Tworzy pusty zbiór. | + | |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.| | |
- | hash_set(size_type n) Tworzy pusty zbiór hash_set z conajmniej n koszykami. | + | |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(size_type n, Tworzy pusty zbiór hash_set z conajmniej n koszykami i korzystający 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.| |
- | const hasher& h) | + | |hash_set(const hash_set&)|Konstruktor kopiujący.| |
- | + | ||
- | + | ||
- | hash_set(size_type n, Tworzy pusty zbiór hash_set z conajmniej n koszykami, korzystający z h jako funkcji mieszającej oraz k do porównywani | + | |
- | const hasher& h, objektów. | + | |
- | const key_equal& k) | + | |
- | + | ||
- | + | ||
- | template <class InputIterator> | + | |
- | hash_set(InputIterator f, InputIterator l) Tworzy zbiór hash_set jako kopię z podanego zakresu. | + | |
- | + | ||
- | + | ||
- | template <class InputIterator> Tworzy zbiór hash_set jako kopię z podanego zakresu i conajmniej n koszykami. | + | |
- | hash_set(InputIterator f, InputIterator l, | + | |
- | size_type n) | + | |
- | + | ||
- | template <class InputIterator> 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& h) | + | |
- | + | ||
- | + | ||
- | hash_set(InputIterator f, InputIterator Tworzy zbiór hash_set jako kopię z podanego zakresu, conajmniej n koszykami, korzystającym z h jako funkcji mieszającej | + | |
- | size_type n, const hasher& oraz k do porównywania objektów. | + | |
- | const key_equal& k) | + | |
- | + | ||
- | + | ||
- | hash_set(const hash_set&) Konstruktor kopiujący. | + | |
+ | --- //[[M.Szczykulski@stud.elka.pw.edu.pl|Marian Szczykulski]] 2008/12/09 01:32// |