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 |
Depolama yönetmek için bir ayırıcı yazın. |
|
Denetlenen sırası için sabit bir yineleyici türü. |
|
Denetlenen sırası için sabit sepet Yineleyici türü. |
|
Bir öğe için sabit bir işaretçi türü. |
|
Bir öğeyi sabit başvuru türü. |
|
İki öğe arasında imzalanmış bir mesafe yazın. |
|
Karma işlevi türü. |
|
Denetlenen sırası için bir yineleyici türü. |
|
Karşılaştırma işlevi türü. |
|
Bir sıralama anahtarı yazın. |
|
Denetlenen sırası için bir demet Yineleyici türü. |
|
Bir öğe için bir işaretçi türü. |
|
Bir öğe için bir başvuru türü. |
|
İki öğe arasındaki imzalanmamış bir mesafe türü. |
|
Bir öğe türü. |
Üye işlevi |
Description |
Denetlenen sıra başlangıcını belirtir. |
|
Sepet numarası için bir anahtar değeri alır. |
|
Demetleri sayısını alır. |
|
Toplama alanı boyutunu alır. |
|
Denetlenen sıra başlangıcını belirtir. |
|
Denetlenen bitişinde atar. |
|
Tüm öğeleri kaldırır. |
|
Belirtilen anahtar eşleşen öğe sayısını bulur. |
|
Yerde oluşturulmuş bir öğe ekler. |
|
İpucu ile bir yerde oluşturulmuş bir öğe ekler. |
|
Herhangi bir öğe olup olmadığını sınar sunar. |
|
Denetlenen bitişinde atar. |
|
Belirtilen anahtar eşleşen aralığı bulur. |
|
Belirtilen konumlarda öğelerini kaldırır. |
|
Belirtilen anahtar eşleşen öğe bulur. |
|
Saklı ayırıcı nesnesini alır. |
|
Depolanmış karma işlevi nesnesi alır. |
|
Öğeleri ekler. |
|
Saklı karşılaştırma işlevi nesnesi alır. |
|
Sepet başına ortalama öğeleri sayar. |
|
Demetleri en fazla sayısını alır. |
|
Alır veya sepet maksimum öğelerini ayarlar. |
|
Denetlenen sırasının en büyük boyutunu alır. |
|
Karma tablo oluşturur. |
|
Öğelerin sayısını sayar. |
|
İki kapsayıcı içeriğini değiştirir. |
|
Bir kapsayıcı nesnesi oluşturur. |
İşleçler |
Description |
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