unordered_set Class
樣板類別描述物件來控制型別的項目不同的長度序列const Key。這個順序是弱的雜湊函式,磁碟分割成一個排序集,稱為雜湊桶的 subsequences 的順序排序。內每一桶某種比較函式會判斷項目的任何配對是否具有相同的順序。每個項目做為排序索引鍵和值。序列都會以這種方式可以允許查詢、 插入,以及一些很獨立的序列 (固定的時間) 中的項目數的作業與任意項目移除,至少當所有雜湊桶都是約略相等的長度。在最壞的情況下,當所有的項目在一個連結,作業的數目是成比例的順序 (線性時間) 的項目數。此外,將項目失效沒有 iterator,,並移除項目失效的已移除的項目指向這些 iterator。
template<class Key,
class Hash = std::hash<Key>,
class Pred = std::equal_to<Key>,
class Alloc = std::allocator<Key> >
class unordered_set;
參數
參數 |
描述 |
Key |
索引鍵的型別。 |
Hash |
雜湊函式的物件型別。 |
Pred |
相等比較函式物件型別。 |
Alloc |
配置器類別。 |
Members
型別定義 |
描述 |
管理存放裝置配置器類型。 |
|
常數的 iterator 受控制序列的型別。 |
|
受控制序列的常數的值區 iterator 型別。 |
|
指標型別的常數加入項目。 |
|
常數參考的項目型別。 |
|
帶正負號的距離,兩個元素之間的型別。 |
|
雜湊函式的型別。 |
|
受控制序列的 iterator 型別。 |
|
比較函式型別。 |
|
排序的索引鍵的型別。 |
|
受控制序列的桶 iterator 型別。 |
|
指標型別的項目。 |
|
項目之參考型別。 |
|
不帶正負號的距離,兩個元素之間的型別。 |
|
項目的型別。 |
成員函式 |
描述 |
指定受控制序列的開頭。 |
|
取得機碼值的值區號碼。 |
|
取得雜湊桶的數目。 |
|
取得值區的大小。 |
|
指定受控制序列的開頭。 |
|
指定受控制序列的結尾。 |
|
移除所有的項目。 |
|
尋找符合指定的索引鍵的項目數。 |
|
新增項目建構中的位置。 |
|
將有提示的位置,以建構項目。 |
|
測試是否沒有項目呈現。 |
|
指定受控制序列的結尾。 |
|
尋找符合指定的索引鍵的範圍。 |
|
移除指定位置的項目。 |
|
尋找符合指定之索引鍵的項目。 |
|
取得預存的配置器物件。 |
|
取得預存的雜湊函式物件。 |
|
新增項目。 |
|
取得預存的比較函式物件。 |
|
計算平均的項目,每個連結。 |
|
取得雜湊桶的最大數目。 |
|
取得或設定每一桶的最大的項目。 |
|
取得受控制序列的最大大小。 |
|
重新建置雜湊資料表。 |
|
計數項目的數目。 |
|
交換兩個容器的內容。 |
|
建構容器物件。 |
運算子 |
描述 |
將複製的雜湊資料表。 |
備註
順序控制點撥打兩個預存的物件,比較函式物件的型別序列的物件unordered_set::key_equal和雜湊函式物件型別的unordered_set::hasher。您呼叫成員函式來存取第一個預存的物件unordered_set::key_eq()。 您呼叫成員函式來存取第二個預存的物件,並unordered_set::hash_function()。明確地說,所有值的X和Y型別的Key,呼叫key_eq()(X, Y) ,則傳回 true,只有當兩個引數的值具有相同的順序。 在呼叫hash_function()(keyval)可產生的散發型別的值size_t。與樣板類別不同的是unordered_multiset Class,範本類別的物件unordered_set可確保key_eq()(X, Y)恆為受控制序列的任何兩個項目,則為 false。(索引鍵是唯一的)。
物件也會儲存指定最大值所需的項目,每桶的平均數目的最大的載入因數。如果將項目會讓unordered_set::load_factor()超過最大的載入因數,容器增加雜湊桶的數目並依需要重新建置雜湊資料表。
受控制序列中的項目實際的順序是根據雜湊函式、 比較函式、 插入的順序、 最大的載入因數及目前的雜湊桶的數目而定。在一般情況下,您無法預測的順序受控制序列中的項目。您可以永遠確定,不過,任何的子集合的項目具有相同的順序是相鄰的在受控制序列。
物件配置和釋放它透過預存的配置器物件的型別可控制序列的存放裝置unordered_set::allocator_type。這種配置器物件必須要有相同的外部介面的樣板類別物件allocator。請注意指派給容器物件時,就不會複製預存的配置器物件。
需求
標頭: <unordered_set>
Namespace: 標準