C ++ Kitaplığı - <unordered_map>
Unordered_map'e giriş
Sırasız harita, veri yapısı gibi sözlüktür. Her benzersiz anahtarla yalnızca tek bir değerin ilişkilendirildiği bir (anahtar, değer) çifti dizisidir. Genellikle ilişkisel dizi olarak adlandırılır . Anahtarlarına bağlı olarak tek tek öğelerin hızlı bir şekilde alınmasını sağlar. Ayrıca , anahtar değerini bağımsız değişken olarak kullanarak eşlenen değerin doğrudan erişimine izin veren doğrudan erişim operatörünü (alt simge operatörü []) uygular .
Sırasız harita, öğelerini anahtar veya eşlenmiş değerlerine göre belirli bir sırada sıralamaz, bunun yerine, tek tek öğelere doğrudan anahtar değerlerine göre hızlı erişim sağlamak için hash değerlerine bağlı olarak kümeler halinde düzenler.
Sırasız harita, tek tek öğelere anahtarlarıyla erişirken haritadan daha iyi performans gösterir. Ancak aralık yinelemesi için performansları oldukça düşüktür.
Tanım
Aşağıda, <unordered_map> başlık dosyasından std :: unordered_map tanımı bulunmaktadır.
template < class Key,
class T,
class Hash = hash<Key>,
class Pred = equal_to<Key>,
class Alloc = allocator< pair<const Key,T> >
> class unordered_map;
Parametreler
Key - Anahtarın türü.
T - Eşlenen değerlerin türü.
Hash- Anahtar türü bir nesneyi bağımsız değişken olarak alan ve ona bağlı olarak size_t türünde benzersiz bir değer döndüren tek işlevli bir nesne türü .
Pred- Anahtar türündeki iki bağımsız değişkenin bir bool döndürdüğünü ikili bir yüklem .
Alloc - Ayırıcı nesnenin türü.
T, kullanıcı tanımlı tür dahil olmak üzere herhangi bir başka veri türü ile ikame edilebilir.
Üye türleri
Aşağıdaki üye türleri, üye işlevlere göre parametre veya dönüş türü olarak kullanılabilir.
Sr.No. | Üye türleri | Tanım |
---|---|---|
1 | anahtar türü | Anahtar (Şablonun ilk parametresi) |
2 | mapped_type | T (Şablonun ikinci parametresi) |
3 | değer türü | çift <sabit anahtar_türü, eşlenmiş_tür> |
4 | hasher | Üçüncü şablon parametresi (varsayılan değer: hash <key_type>) |
5 | key_equal | Dördüncü şablon parametresi (varsayılan olarak: equ_to <key_type>) |
6 | allocator_type | Alloc (şablonun beşinci parametresi) |
7 | referans | değer türü& |
8 | const_reference | const value_type & |
9 | Işaretçi | allocator_traits <Alloc> :: işaretçi |
10 | const_pointer | allocator_traits <Alloc> :: const_pointer |
11 | yineleyici | Value_type değer_türü için ileri yineleyici |
12 | const_iterator | Değer_türü değer_türü sabitlemek için bir ileri yineleyici |
13 | local_iterator | Değer_türü için ileri yineleyici |
14 | const_local_iterator | Const değer_türü için ileri yineleyici |
15 | fark_türü | ptrdiff_t |
16 | Beden Çeşidi | size_t |
<unordered_map> işlevlerinden
Aşağıda <unordered_map> başlığındaki tüm yöntemlerin listesi bulunmaktadır.
İnşaatçılar
Sr.No. | Yöntem ve Açıklama |
---|---|
1 | unordered_map :: unordered_map varsayılan kurucu Sıfır elemanlı boş bir unordered_map oluşturur. |
2 | unordered_map :: unordered_map kopya yapıcısı Mevcut unordered_map'te bulunan her öğenin kopyasıyla bir unordered_map oluşturur. |
3 | unordered_map :: unordered_map taşıma yapıcısı Diğerlerinin içeriğiyle taşıma anlamlarını kullanarak bir unordered_map oluşturur. |
4 | unordered_map :: unordered_map aralık yapıcısı Aralığında gibi birçok elemanlar olarak bir unordered_map oluşturur ilk için son . |
5 | unordered_map :: unordered_map initializer_list yapıcısı Başlatma listesinden bir unordered_map oluşturur. |
Yıkıcı
Sr.No. | Yöntem ve Açıklama |
---|---|
1 | unordered_map :: ~ unordered_map
Unordered_map nesnesini belleğinin ayırmasını kaldırarak yok eder. |
Üye fonksiyonları
Sr.No. | Yöntem ve Açıklama |
---|---|
1 | unordered_map :: at
K anahtarıyla ilişkili eşlenmiş değere bir başvuru döndürür . |
2 | unordered_map :: kapsayıcı yineleyiciyi başlat Haritanın ilk öğesine başvuran bir yineleyici döndürür. |
3 | unordered_map :: kova yineleyicisini başlat Paketlerinden birindeki ilk öğeyi gösteren bir yineleyici döndürür. |
4 | unordered_map :: kova
K anahtarına sahip öğenin bulunduğu bölüm numarasını döndürür . |
5 | unordered_map :: buck_count
Unordered_map kapsayıcıdaki paket sayısını döndürür. |
6 | unordered_map :: buck_size
N unsurlar hediye sayısını döndürür inci kova. |
7 | unordered_map :: cbegin kapsayıcı yineleyici Unordered_map'in ilk öğesine başvuran sabit bir yineleyici döndürür. |
8 | unordered_map :: cbegin kova yineleyicisi Paketlerinden birindeki ilk öğeyi işaret eden sabit bir yineleyici döndürür. |
9 | unordered_map :: cend kapsayıcı yineleyicisi Unordered_map'in son-son öğesine işaret eden sabit bir yineleyici döndürür . |
10 | unordered_map :: kova yineleyici cend Döner sabit bir yineleyici olan noktaları son-uç onun kovalar bir eleman. |
11 | unordered_map :: temizle
Tüm elemanları kaldırarak unordered_map'i yok eder ve unordered_map'in boyutunu sıfır olarak ayarlar . |
12 | unordered_map :: count
K anahtarıyla ilişkili eşlenmiş değerlerin sayısını döndürür . |
13 | unordered_map :: yerleştirmek
Yeni eleman ekleyerek kabı genişletir. |
14 | unordered_map :: emplace_hint
Öğe için bir konum olarak ipucu kullanarak unordered_map'e yeni bir öğe ekler. |
15 | unordered_map :: boş
Unordered_map'in boş olup olmadığını test eder. |
16 | unordered_map :: kapsayıcı yineleyiciyi sonlandır Unordered_map'te sonun sonundaki öğeye işaret eden bir yineleyici döndürür . |
17 | unordered_map :: kova yineleyici sonu Döner bir yineleyici olan noktaları son-uç onun kovalar bir eleman. |
18 | unordered_map :: eşit
Belirli bir anahtarla eşleşen öğe aralığını döndürür. |
19 | unordered_map :: konum sürümünü sil Unordered_map'in tek bir öğesini konumdan kaldırır . |
20 | unordered_map :: anahtar sürümünü sil K anahtarıyla ilişkili eşlenmiş değeri kaldırır . |
21 | unordered_map :: aralık sürümünü sil Unordered_map öğesinden öğe aralığını kaldırır. |
22 | unordered_map :: bul
K anahtarıyla ilişkili bir öğe bulur . |
23 | unordered_map :: get_allocator
Unordered_map ile ilişkili bir ayırıcı döndürür. |
24 | unordered_map :: hash_function
Unordered_map konteyner tarafından kullanılan hash işlevi nesnesini hesaplar. |
25 | unordered_map :: ekle
Unordered_map içine yeni eleman ekleyerek kapsayıcıyı genişletir. |
26 | unordered_map :: taşıma sürümünü ekle Unordered_map içine yeni eleman ekleyerek kapsayıcıyı genişletir. |
27 | unordered_map :: ipucu sürümü ekle Unordered_map'e yeni eleman ekleyerek kapsamı genişletir. |
28 | unordered_map :: taşıma ve ipucu sürümü ekle Yeni eleman ekleyerek unordered_map'i genişletir. |
29 | unordered_map :: aralık sürümünü ekle Unordered_map'e yeni öğeler ekleyerek kapsayıcıyı genişletir. |
30 | unordered_map :: initializer_list sürümünü ekle Başlatıcı listesinden yeni eleman ekleyerek haritayı genişletir. |
31 | unordered_map :: key_eq
Anahtarları eşitlik açısından karşılaştıran işlevi döndürür. |
32 | unordered_map :: load_factor
Unordered_map konteynerinin mevcut yük faktörünü döndürür. |
33 | unordered_map :: max_bucket_count
Unordered_map kapsayıcısının sahip olabileceği maksimum paket sayısını döndürür. |
34 | unordered_map :: max_load_factor sürümü al Unordered_map kapsayıcı için geçerli maksimum yük faktörünü döndürür. |
35 | unordered_map :: max_load_factor set sürümü Unordered_map kapsayıcı için yeni yük faktörü atar. |
36 | unordered_map :: max_size
Unordered_map tarafından tutulabilecek maksimum öğe sayısını döndürür. |
37 | unordered_map :: operator = sürümü kopyala Eski içerikleri değiştirerek yeni içerikleri unordered_map'e atar ve gerekirse boyutu değiştirir. |
38 | unordered_map :: operator = sürümü taşı Bir unordered_map'in içeriğini diğerine taşıyın ve gerekirse boyutu değiştirir. |
39 | unordered_map :: operator = initializer_list sürümü Başlatıcı listesindeki öğeleri unordered_map'e kopyalayın. |
40 | unordered_map :: operator []
Anahtar k konteynerdeki bir öğeyle eşleşirse , yöntem öğeye bir başvuru döndürür. |
41 | unordered_map :: operator [] sürümü taşı Anahtar k konteynerdeki bir öğeyle eşleşirse , yöntem öğeye bir başvuru döndürür. |
42 | unordered_map :: rehash
Kaptaki kova sayısını n veya daha fazla olarak ayarlar . |
43 | unordered_map :: rezerv
Kaptaki kova sayısını en az n öğe içerecek şekilde en uygun şekilde ayarlar . |
44 | unordered_map :: size
Unordered_map'te bulunan öğelerin sayısını döndürür. |
45 | unordered_map :: takas
İlk unordered_map'in içeriğini bir başkasıyla değiştirir. |
Üye olmayan aşırı yüklenmiş işlevler
Sr.No. | Yöntem ve Açıklama |
---|---|
1 | unordered_map :: operator ==
İki sırasız haritanın eşit olup olmadığını test eder. |
2 | unordered_map :: operator! =
İki sırasız haritanın eşit olup olmadığını test eder. |
3 | unordered_map :: takas
İlk unordered_map'in içeriğini bir başkasıyla değiştirir. |
Unordered_multimap'e giriş
Unordered_multimap, veri yapısı gibi sözlüktür. Bu, farklı öğelerin eşdeğer anahtarlara sahip olabileceği bir (anahtar, değer) çifti dizisidir. Eşdeğer anahtarlara sahip öğeler, aynı pakette ve bir eşit_aralık yineleyicinin hepsinde yineleyebileceği şekilde birlikte gruplanır .
Unordered_multimap, öğesini anahtar veya eşlenmiş değerlerine göre belirli bir sırada sıralamaz, bunun yerine anahtar değerlerine göre tek tek öğelere hızlı erişime izin vermek için hash değerlerine bağlı olarak kümeler halinde düzenler.
Tanım
Aşağıda <unordered_map> başlık dosyasından std :: unordered_multimap'in tanımı verilmiştir
template < class Key,
class T,
class Hash = hash<Key>,
class Pred = equal_to<Key>,
class Alloc = allocator< pair<const Key,T> >
> class unordered_multimap;
Parametreler
Key - Anahtarın türü.
T - Eşlenen değerlerin türü.
Hash- Anahtar türü bir nesneyi bağımsız değişken olarak alan ve ona bağlı olarak size_t türünde benzersiz bir değer döndüren tek işlevli bir nesne türü .
Pred- Anahtar türündeki iki bağımsız değişkenin bir bool döndürdüğünü ikili bir yüklem .
Alloc - Ayırıcı nesnenin türü.
T, kullanıcı tanımlı tür dahil olmak üzere herhangi bir başka veri türü ile ikame edilebilir.
Üye türleri
Aşağıdaki üye türleri, üye işlevlere göre parametre veya dönüş türü olarak kullanılabilir.
Sr.No. | Üye türleri | Tanım |
---|---|---|
1 | anahtar türü | Anahtar (Şablonun ilk parametresi) |
2 | mapped_type | T (Şablonun ikinci parametresi) |
3 | değer türü | çift <sabit anahtar_türü, eşlenmiş_tür> |
4 | hasher | Üçüncü şablon parametresi (varsayılan değer: hash <key_type>) |
5 | key_equal | Dördüncü şablon parametresi (varsayılan olarak: equ_to <key_type>) |
6 | allocator_type | Alloc (şablonun beşinci parametresi) |
7 | referans | değer türü& |
8 | const_reference | const value_type & |
9 | Işaretçi | allocator_traits <Alloc> :: işaretçi |
10 | const_pointer | allocator_traits <Alloc> :: const_pointer |
11 | yineleyici | Value_type değer_türü için ileri yineleyici |
12 | const_iterator | Değer_türü değer_türü sabitlemek için bir ileri yineleyici |
13 | local_iterator | Değer_türü için ileri yineleyici |
14 | const_local_iterator | Const değer_türü için ileri yineleyici |
15 | fark_türü | ptrdiff_t |
16 | Beden Çeşidi | size_t |
<unordered_multimap> 'den işlevler
Aşağıda <unordered_map> başlığındaki tüm yöntemlerin listesi bulunmaktadır.
İnşaatçılar
Sr.No. | Yöntem ve Açıklama |
---|---|
1 | unordered_multimap :: unordered_multimap () varsayılan kurucu Sıfır elemanlı boş bir unordered_multimap oluşturur. |
2 | unordered_multimap :: unordered_multimap () kopya oluşturucu Mevcut unordered_multimap'te bulunan her öğenin kopyasıyla bir unordered_multimap oluşturur. |
3 | unordered_multimap :: unordered_multimap () hareket yapıcı Diğerlerinin içerikleriyle hareket anlamını kullanarak bir unordered_multimap oluşturur. |
4 | unordered_multimap :: unordered_multimap () aralık yapıcısı Aralığında gibi birçok elemanlar olarak bir unordered_multimap oluşturur ilk için son . |
5 | unordered_multimap :: unordered_multimap () initializer_list yapıcısı Başlatma listesinden bir unordered_multimap oluşturur. |
Yıkıcı
Sr.No. | Yöntem ve Açıklama |
---|---|
1 | unordered_multimap :: ~ unordered_multimap ()
Unordered_multimap nesnesini belleğinin ayırmasını kaldırarak yok eder. |
Üye fonksiyonları
Sr.No. | Yöntem ve Açıklama |
---|---|
1 | unordered_multimap :: begin () kapsayıcı yineleyici Unordered_mulitmap'in ilk öğesine başvuran bir yineleyici döndürür. |
2 | unordered_multimap :: begin () kova yineleyicisi Paketlerinden birindeki ilk öğeyi gösteren bir yineleyici döndürür. |
3 | unordered_multimap :: kova ()
K anahtarına sahip öğenin bulunduğu bölüm numarasını döndürür . |
4 | unordered_multimap :: kova_sayısı ()
Unordered_multimap kapsayıcıda bulunan paketlerin sayısını döndürür. |
5 | unordered_multimap :: kova_size ()
N unsurlar hediye sayısını döndürür inci kova. |
6 | unordered_multimap :: cbegin () kapsayıcı yineleyici Unordered_multimap'in ilk öğesine başvuran sabit bir yineleyici döndürür. |
7 | unordered_multimap :: cbegin () kova yineleyici Paketlerinden birindeki ilk öğeyi işaret eden sabit bir yineleyici döndürür. |
8 | unordered_multimap :: cend () kapsayıcı yineleyici Unordered_multimap'in sonun sonundaki öğesine işaret eden sabit bir yineleyici döndürür . |
9 | unordered_multimap :: cend () kova yineleyicisi Döner sabit bir yineleyici olan noktaları son-uç onun kovalar bir eleman. |
10 | unordered_multimap :: clear ()
Tüm öğeleri kaldırarak unordered_multimap'i yok eder ve unordered_multimap boyutunu sıfır olarak ayarlar . |
11 | unordered_multimap :: count ()
K anahtarıyla ilişkili eşlenmiş değerlerin sayısını döndürür . |
12 | unordered_multimap :: yerleştirme ()
Yeni eleman ekleyerek kabı genişletir. |
13 | unordered_multimap :: emplace_hint ()
Öğe konumu olarak ipucu kullanarak unordered_multimap'e yeni bir öğe ekler. |
14 | unordered_multimap :: boş ()
Unordered_multimap'in boş olup olmadığını test eder. |
15 | unordered_multimap :: end () kapsayıcı yineleyici Unordered_multimap'te sonun sonundaki öğeye işaret eden bir yineleyici döndürür . |
16 | unordered_multimap :: end () kova yineleyici Döner bir yineleyici olan noktaları son-uç onun kovalar bir eleman. |
17 | unordered_multimap :: eşit_aralık ()
Belirli bir anahtarla eşleşen öğe aralığını döndürür. |
18 | unordered_multimap :: silme () konum versiyonu Unordered_multimap'in tek bir öğesini konumdan kaldırır . |
19 | unordered_multimap :: sil () anahtar sürümü K anahtarıyla ilişkili eşlenmiş değeri kaldırır . |
20 | unordered_multimap :: erase () aralık versiyonu Unordered_multimap öğesinin aralığını kaldırır. |
21 | unordered_multimap :: bul ()
K anahtarıyla ilişkili bir öğe bulur . |
22 | unordered_multimap :: get_allocator ()
Unordered_multimap ile ilişkili bir ayırıcı döndürür. |
23 | unordered_multimap :: hash_function ()
Unordered_multimap konteyner tarafından kullanılan karma işlevi nesnesini hesaplar. |
24 | unordered_multimap :: insert () değer versiyonu Unordered_multimap içine yeni eleman ekleyerek kapsayıcıyı genişletir. |
25 | unordered_multimap :: insert () sürümü taşı Yeni eleman ekleyerek unordered_multimap'i genişletir. |
26 | unordered_multimap :: insert () ipucu sürümü Unordered_multimap içine yeni eleman ekleyerek kapsayıcıyı genişletir. |
27 | unordered_multimap :: insert () ipucu sürümü taşı Unordered_multimap'e taşıma semantiğini kullanarak yeni eleman ekleyerek kapsayıcıyı genişletir. |
28 | unordered_multimap :: insert () aralık versiyonu Unordered_multimap'e yeni öğeler ekleyerek kapsayıcıyı genişletir. |
29 | unordered_multimap :: insert () initializer_list sürümü Başlatıcı listesinden yeni eleman ekleyerek unordered_multimap'i genişletir. |
30 | unordered_multimap :: key_eq ()
Anahtarları eşitlik açısından karşılaştıran işlevi döndürür. |
31 | unordered_multimap :: load_factor ()
Unordered_multimap kapsayıcının mevcut yük faktörünü döndürür. |
32 | unordered_multimap :: max_bucket_count ()
Unordered_multimap kapsayıcısının sahip olabileceği maksimum paket sayısını döndürür. |
33 | unordered_multimap :: max_load_factor () sürümü al Unordered_multimap konteyner için geçerli maksimum yük faktörünü döndürür. |
34 | unordered_multimap :: max_load_factor () set sürümü Unordered_multimap konteyner için yeni yük faktörü atar. |
35 | unordered_multimap :: max_size ()
Unordered_multimap tarafından tutulabilecek maksimum öğe sayısını döndürür. |
36 | unordered_multimap :: operator = () sürümü kopyala Eski içerikleri değiştirerek yeni içerikleri unordered_multimap'e atar ve gerekirse boyutu değiştirir. |
37 | unordered_multimap :: operator = () sürümü taşı Bir unordered_multimap'in içeriğini diğerine taşıyın ve gerekirse boyutu değiştirir. |
38 | unordered_multimap :: operator = () initializer_list sürümü Başlatıcı listesindeki öğeleri unordered_multimap'e kopyalayın. |
39 | unordered_multimap :: rehash ()
Kaptaki kova sayısını n veya daha fazla olarak ayarlar . |
40 | unordered_multimap :: rezerv ()
Kaptaki kova sayısını en az n öğe içerecek şekilde en uygun şekilde ayarlar . |
41 | unordered_multimap :: size ()
Unordered_multimap'te bulunan öğelerin sayısını döndürür. |
42 | unordered_multimap :: takas ()
İlk unordered_multimap'in içeriğini bir başkasıyla değiştirir. |
Üye olmayan aşırı yüklenmiş işlevler
Sr.No. | Yöntem ve Açıklama |
---|---|
1 | unordered_multimap :: operator == ()
İki unordered_multimaps'in eşit olup olmadığını test eder. |
2 | unordered_multimap :: operatör! = ()
İki unordered_multimaps'in eşit olup olmadığını test eder. |
3 | unordered_multimap :: takas ()
İlk unordered_multimap'in içeriğini bir başkasıyla değiştirir. |