Aracılığıyla paylaş


unordered_set Class

Şablon sınıfını türdeki öğeleri değişen uzunlukta sırasını denetleyen bir nesneyi tanımlayan const Key. Sıra sıra demetleri adlı sıraları sıralı bir dizi içine bölümleri bir karma işlev tarafından sipariş edilen korunmayan. Her Kova içinde bir karşılaştırma işlevi öğeleri herhangi bir çiftinin eşdeğer sıralamaya sahip olup olmadığını belirler. Her öğe sıralama anahtarı ve bir değer hizmet verir. Sırayı temsil arama, ekleme ve kaldırma (sabit süre) sýradaki öðeler sayısının bağımsız işlemlerinin sayısı ile rasgele bir öğenin izin veren bir şekilde en az tüm demetleri olduğunda kabaca eşit uzunluğu. Tüm öğelerin bir sepet içinde olduğunda en kötü durumda, işlem sayısı (doğrusal saati) sýradaki öðeler sayısı orantılıdır. Üstelik, bir öğe ekleme yok Yineleyicilerde geçersiz kılar ve öğenin kaldırılması, kaldırılan öğeye işaret Yineleyicilerde geçersiz kılar.

template<class Key,
    class Hash = std::hash<Key>,
    class Pred = std::equal_to<Key>,
    class Alloc = std::allocator<Key> >
    class unordered_set;

Parametreler

Parametre

Description

Key

Anahtar türü.

Hash

Karma işlev nesne türü.

Pred

Eşitlik karşılaştırma işlevi nesne türü.

Alloc

Ayırıcı sınıf.

Üyeler

Tür tanım

Description

unordered_set::allocator_type

Depolama yönetmek için bir ayırıcı yazın.

unordered_set::const_iterator

Denetlenen sırası için sabit bir yineleyici türü.

unordered_set::const_local_iterator

Denetlenen sırası için sabit sepet Yineleyici türü.

unordered_set::const_pointer

Bir öğe için sabit bir işaretçi türü.

unordered_set::const_reference

Bir öğeyi sabit başvuru türü.

unordered_set::difference_type

İki öğe arasında imzalanmış bir mesafe yazın.

unordered_set::hasher

Karma işlevi türü.

unordered_set::iterator

Denetlenen sırası için bir yineleyici türü.

unordered_set::key_equal

Karşılaştırma işlevi türü.

unordered_set::key_type

Bir sıralama anahtarı yazın.

unordered_set::local_iterator

Denetlenen sırası için bir demet Yineleyici türü.

unordered_set::pointer

Bir öğe için bir işaretçi türü.

unordered_set::reference

Bir öğe için bir başvuru türü.

unordered_set::size_type

İki öğe arasındaki imzalanmamış bir mesafe türü.

unordered_set::value_type

Bir öğe türü.

Üye işlevi

Description

unordered_set::begin

Denetlenen sıra başlangıcını belirtir.

unordered_set::bucket

Sepet numarası için bir anahtar değeri alır.

unordered_set::bucket_count

Demetleri sayısını alır.

unordered_set::bucket_size

Toplama alanı boyutunu alır.

unordered_set::cbegin

Denetlenen sıra başlangıcını belirtir.

unordered_set::cend

Denetlenen bitişinde atar.

unordered_set::clear

Tüm öğeleri kaldırır.

unordered_set::count

Belirtilen anahtar eşleşen öğe sayısını bulur.

unordered_set::emplace

Yerde oluşturulmuş bir öğe ekler.

unordered_set::emplace_hint

İpucu ile bir yerde oluşturulmuş bir öğe ekler.

unordered_set::empty

Herhangi bir öğe olup olmadığını sınar sunar.

unordered_set::end

Denetlenen bitişinde atar.

unordered_set::equal_range

Belirtilen anahtar eşleşen aralığı bulur.

unordered_set::erase

Belirtilen konumlarda öğelerini kaldırır.

unordered_set::find

Belirtilen anahtar eşleşen öğe bulur.

unordered_set::get_allocator

Saklı ayırıcı nesnesini alır.

unordered_set::hash_function

Depolanmış karma işlevi nesnesi alır.

unordered_set::insert

Öğeleri ekler.

unordered_set::key_eq

Saklı karşılaştırma işlevi nesnesi alır.

unordered_set::load_factor

Sepet başına ortalama öğeleri sayar.

unordered_set::max_bucket_count

Demetleri en fazla sayısını alır.

unordered_set::max_load_factor

Alır veya sepet maksimum öğelerini ayarlar.

unordered_set::max_size

Denetlenen sırasının en büyük boyutunu alır.

unordered_set::rehash

Karma tablo oluşturur.

unordered_set::size

Öğelerin sayısını sayar.

unordered_set::swap

İki kapsayıcı içeriğini değiştirir.

unordered_set::unordered_set

Bir kapsayıcı nesnesi oluşturur.

İşleçler

Description

unordered_set::operator=

Karma tablosuna kopyalar.

Notlar

Nesne denetlediği iki saklı nesneleri, bir karşılaştırma işlevi nesne türü çağırarak sıra siparişler unordered_set::key_equal ve bir karma işlev nesne türü unordered_set::hasher. Üye işlevini çağırarak ilk saklı nesne erişim unordered_set::key_eq(); üye işlevini çağırarak ikinci saklı nesneye erişmek ve unordered_set::hash_function(). Özellikle, tüm değerleri için X ve Y türü Key, çağrı key_eq()(X, Y) yalnızca iki bağımsız değişken değerleri olarak eşdeğer sıralama; varsa true döndürür Çağrı hash_function()(keyval) dağıtım türündeki değerler üretir size_t. Şablon sınıfıyla aksine unordered_multiset Class, şablon sınıfın bir nesnesi unordered_set garantiler key_eq()(X, Y) her zaman kontrollü sıra iki herhangi bir öğe için false olur. (Anahtar benzersizdir.)

Nesne öğelerini sepet başına ortalama sayısı en fazla istenen belirten en fazla Yük faktörü de depolar. Bir öğe ekleme neden olursa unordered_set::load_factor() en ağır yük faktörü aşmak için konteyner demetleri sayısını artırır ve gerektiğinde karma tablo oluşturur.

Denetlenen sýradaki öðeler gerçek sırasını karma işlevi, karşılaştırma işlevi, ekleme sırası, en ağır yük faktörü ve sepetleri sayısı bağlıdır. Genel olarak denetlenen sýradaki öðeler sırasını tahmin edemezsiniz. Her zaman, ancak herhangi bir alt kümesini sıralama eşdeğer olan öğeler denetlenen sırayla bitişik emin olabilir.

Nesne ayırır ve saklı ayırıcısı nesne türü ile denetlediği sıra depolama boşaltır unordered_set::allocator_type. Böyle bir ayırıcı nesne olarak şablon sınıfın bir nesnesi aynı dış arabirimi olmalıdır allocator. Kap nesnesine atandığında saklı ayırıcı nesnesini kopyalanmaz unutmayın.

Gereksinimler

Başlık: <unordered_set>

Namespace: std

Ayrıca bkz.

Başvuru

<unordered_set>

unordered_set Class

Diğer Kaynaklar

<unordered_set> Üyeler