共用方式為


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

型別定義

描述

unordered_set::allocator_type

管理存放裝置配置器類型。

unordered_set::const_iterator

常數的 iterator 受控制序列的型別。

unordered_set::const_local_iterator

受控制序列的常數的值區 iterator 型別。

unordered_set::const_pointer

指標型別的常數加入項目。

unordered_set::const_reference

常數參考的項目型別。

unordered_set::difference_type

帶正負號的距離,兩個元素之間的型別。

unordered_set::hasher

雜湊函式的型別。

unordered_set::iterator

受控制序列的 iterator 型別。

unordered_set::key_equal

比較函式型別。

unordered_set::key_type

排序的索引鍵的型別。

unordered_set::local_iterator

受控制序列的桶 iterator 型別。

unordered_set::pointer

指標型別的項目。

unordered_set::reference

項目之參考型別。

unordered_set::size_type

不帶正負號的距離,兩個元素之間的型別。

unordered_set::value_type

項目的型別。

成員函式

描述

unordered_set::begin

指定受控制序列的開頭。

unordered_set::bucket

取得機碼值的值區號碼。

unordered_set::bucket_count

取得雜湊桶的數目。

unordered_set::bucket_size

取得值區的大小。

unordered_set::cbegin

指定受控制序列的開頭。

unordered_set::cend

指定受控制序列的結尾。

unordered_set::clear

移除所有的項目。

unordered_set::count

尋找符合指定的索引鍵的項目數。

unordered_set::emplace

新增項目建構中的位置。

unordered_set::emplace_hint

將有提示的位置,以建構項目。

unordered_set::empty

測試是否沒有項目呈現。

unordered_set::end

指定受控制序列的結尾。

unordered_set::equal_range

尋找符合指定的索引鍵的範圍。

unordered_set::erase

移除指定位置的項目。

unordered_set::find

尋找符合指定之索引鍵的項目。

unordered_set::get_allocator

取得預存的配置器物件。

unordered_set::hash_function

取得預存的雜湊函式物件。

unordered_set::insert

新增項目。

unordered_set::key_eq

取得預存的比較函式物件。

unordered_set::load_factor

計算平均的項目,每個連結。

unordered_set::max_bucket_count

取得雜湊桶的最大數目。

unordered_set::max_load_factor

取得或設定每一桶的最大的項目。

unordered_set::max_size

取得受控制序列的最大大小。

unordered_set::rehash

重新建置雜湊資料表。

unordered_set::size

計數項目的數目。

unordered_set::swap

交換兩個容器的內容。

unordered_set::unordered_set

建構容器物件。

運算子

描述

unordered_set::operator=

將複製的雜湊資料表。

備註

順序控制點撥打兩個預存的物件,比較函式物件的型別序列的物件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: 標準

請參閱

參考

<unordered_set>

unordered_set Class

其他資源

<unordered_set> 成員