C ++ Kitaplığı - <map>
Haritaya giriş
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 .
Haritada anahtar değerleri genellikle öğeleri sıralamak için kullanılır. Harita verileri için anahtar ve değerin türü farklılık gösterebilir ve şu şekilde temsil edilir:
typedef pair<const Key, T> value_type;
Haritalar genellikle İkili Arama Ağacı olarak uygulanır.
Sıfır boyutlu haritalar da geçerlidir. Bu durumda map.begin () ve map.end () aynı konumu gösterir.
Tanım
Aşağıda <map> başlık dosyasından std :: map tanımı bulunmaktadır.
template < class Key,
class T,
class Compare = less<Key>,
class Alloc = allocator<pair<const Key,T> >
> class map;
Parametreler
Key - Anahtarın türü.
T - Eşlenen değerlerin türü.
Compare - Bağımsız değişken olarak iki öğe anahtarını alan ve bir bool döndüren bir ikili 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 | key_compare | Karşılaştır (Şablonun üçüncü parametresi) |
4 | allocator_type | Alloc (Şablonun dördüncü parametresi) |
5 | değer türü | çift <sabit anahtar_türü, eşlenmiş_tür> |
6 | değer_karşılaştırma | Öğeleri karşılaştırmak için iç içe geçmiş işlev sınıfı |
7 | referans | allocator_type :: başvuru |
8 | const_reference | allocator_type :: const_reference |
9 | Işaretçi | allocator_type :: işaretçi |
10 | const_pointer | allocator_type :: const_pointer |
11 | yineleyici | değer_tipine çift yönlü yineleyici |
12 | const_iterator | değer_türü sabitlemek için çift yönlü yineleyici |
13 | reverse_iterator | ters yineleyici |
14 | const_reverse_iterator | sabit ters yineleyici |
15 | fark_türü | ptrdiff_t |
16 | Beden Çeşidi | size_t |
<map> 'den işlevler
Aşağıda <map> başlığındaki tüm yöntemlerin listesi bulunmaktadır.
İnşaatçılar
Sr.No. | Yöntem ve Açıklama |
---|---|
1 | map :: map varsayılan yapıcısı Sıfır elemanlı boş bir harita oluşturur. |
2 | map :: harita aralığı oluşturucu Aralığında gibi birçok elemanlar olarak bir harita oluşturur ilk için son . |
3 | map :: map copy yapıcısı Mevcut haritada bulunan her bir öğenin kopyasıyla bir harita oluşturur. |
4 | map :: map hareket yapıcısı Hareket semantiğini kullanarak diğerlerinin içeriğiyle bir harita oluşturur. |
5 | map :: map başlatıcı liste yapıcısı Başlatma listesinden bir harita oluşturur. |
Yıkıcı
Sr.No. | Yöntem ve Açıklama |
---|---|
1 | map :: ~ harita Hafızasını kaldırarak harita nesnesini yok eder. |
Üye fonksiyonları
Sr.No. | Yöntem ve Açıklama |
---|---|
1 | harita :: at K anahtarıyla ilişkili eşlenmiş değere bir başvuru döndürür . |
2 | map :: begin Haritanın ilk öğesine başvuran bir yineleyici döndürür. |
3 | harita :: cbegin Haritanın ilk öğesine başvuran sabit bir yineleyici döndürür. |
4 | map :: cend Döner sabit yineleyici hangi noktaları geçmiş uç haritasının elemanı. |
5 | harita :: temizle Tüm öğeleri kaldırarak haritayı yok eder ve haritanın boyutunu sıfır olarak ayarlar. |
6 | map :: count K anahtarıyla ilişkili eşlenmiş değerlerin sayısını döndürür . |
7 | harita :: crbegin Konteyner i'nin son öğesine işaret eden sabit bir ters yineleyici döndürür. |
8 | harita :: crend Konteynır i'deki ilk öğeden önce gelen teorik öğeye işaret eden sabit bir ters yineleyici döndürür. |
9 | harita :: yerleştirmek Yeni eleman ekleyerek kabı genişletir. |
10 | map :: emplace_hint ipucu sürümü Öğe konumu olarak ipucunu kullanarak haritaya yeni bir öğe ekler. |
11 | harita :: boş Haritanın boş olup olmadığını test eder. |
12 | map :: end Döner bir yineleyici hangi noktaları geçmiş uç haritası elemanı. |
13 | harita :: eşit_aralık Belirli bir anahtarla eşleşen öğe aralığını döndürür. |
14 | harita :: pozisyon versiyonunu sil Haritanın tek bir öğesini konumdan kaldırır . |
15 | harita :: pozisyon versiyonunu sil Haritanın tek bir öğesini konumdan kaldırır . |
16 | map :: anahtarı sil K anahtarıyla ilişkili eşlenmiş değeri kaldırır . |
17 | harita :: aralık sürümünü sil Haritadan öğe aralığını kaldırır. |
18 | harita :: aralık sürümünü sil Haritadan öğe aralığını kaldırır. |
19 | harita :: bul K anahtarıyla ilişkili bir öğe bulur . |
20 | map :: get_allocator Haritayla ilişkili bir ayırıcı döndürür. |
21 | map :: tek eleman ekle Haritaya yeni öğe ekleyerek kapsayıcıyı genişletir. |
22 | map :: ipucu sürümü ekle Haritaya yeni öğe ekleyerek kapsayıcıyı genişletir. |
23 | harita :: aralık versiyonu ekle Haritaya yeni öğeler ekleyerek kapsayıcıyı genişletir. |
24 | harita :: hareket ipucu sürümü ekle Yeni eleman ekleyerek haritayı genişletir. |
25 | map :: başlatıcı listesi sürümü ekle Başlatıcı listesinden yeni eleman ekleyerek haritayı genişletir. |
26 | map :: key_comp Anahtarları karşılaştıran bir işlev nesnesi döndürür ve bu, bu kapsayıcının yapıcı bağımsız değişkeni comp'in bir kopyasıdır . |
27 | map :: lower_bound K anahtarından daha az olmayan ilk öğeyi gösteren bir yineleyici döndürür . |
28 | map :: max_size Harita tarafından tutulabilecek maksimum öğe sayısını döndürür. |
29 | map :: operator = sürümü kopyala Eskileri değiştirerek haritaya yeni içerikler atayın ve gerekirse boyutu değiştirin. |
30 | map :: operator = sürümü taşı Bir haritanın içeriğini diğerine taşıyın ve gerekirse boyutu değiştirir. |
31 | map :: operator = başlatıcı listesi sürümü Başlatıcı listesindeki öğeleri haritaya kopyalayın. |
32 | map :: operator [] versiyonu kopyala Anahtar k konteynerdeki bir öğeyle eşleşirse , yöntem öğeye bir başvuru döndürür. |
33 | map :: operator [] sürümü taşı Anahtar k konteynerdeki bir öğeyle eşleşirse , yöntem öğeye bir başvuru döndürür. |
34 | harita :: rbegin Haritanın son öğesine işaret eden bir ters yineleyici döndürür. |
35 | harita :: rendelemek Haritanın ters ucunu gösteren bir ters yineleyici döndürür i. |
36 | harita boyutu Haritada bulunan öğelerin sayısını döndürür. |
37 | harita :: takas Harita içeriğini x haritasının içeriğiyle değiştirir. |
38 | harita :: Upper_bound K anahtarından daha büyük olan ilk öğeyi gösteren bir yineleyici döndürür . |
39 | map :: value_comp Std :: map :: value_type türündeki nesneleri karşılaştıran bir işlev nesnesi döndürür . |
Üye olmayan aşırı yüklenmiş işlevler
Sr.No. | Yöntem ve Açıklama |
---|---|
1 | operatör == İki haritanın eşit olup olmadığını test eder. |
2 | operatör! = İki haritanın eşit olup olmadığını test eder. |
3 | operatör < İlk haritanın diğerinden daha az olup olmadığını test eder. |
4 | map :: operator <= İlk haritanın diğerinden küçük veya diğerine eşit olup olmadığını test eder. |
5 | operatör> İlk haritanın diğerinden büyük olup olmadığını test eder. |
6 | operatör> = İlk haritanın diğerinden büyük veya diğerine eşit olup olmadığını test eder. |
7 | takas () Harita içeriğini x haritasının içeriğiyle değiştirir. |
Çoklu haritaya giriş
Multimap, veri yapısı gibi sözlüktür. Birden çok değerin eşdeğer anahtarlarla ilişkilendirilebildiği bir (anahtar, değer) çifti dizisidir . Genellikle ilişkisel dizi olarak adlandırılır .
Çoklu haritadaki anahtar değerleri genellikle öğeleri sıralamak için kullanılır. Çoklu harita veri türü için anahtar ve değer farklı olabilir ve şu şekilde temsil edilir:
typedef pair<const Key, T> value_type;
Çoklu haritalar tipik olarak İkili Arama Ağacı olarak uygulanır.
Sıfır boyutlu çoklu haritalar da geçerlidir. Bu durumda multimap.begin () ve multimap.end () aynı konumu gösterir.
Tanım
Aşağıda <multimap> başlık dosyasından std :: multimap tanımı bulunmaktadır.
template < class Key,
class T,
class Compare = less<Key>,
class Alloc = allocator<pair<const Key,T> >
> class multimap;
Parametreler
Key - Anahtarın türü.
T - Eşlenen değerlerin türü.
Compare - Bağımsız değişken olarak iki öğe anahtarını alan ve bir bool döndüren bir ikili 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 | key_compare | Karşılaştır (Şablonun üçüncü parametresi) |
4 | allocator_type | Alloc (Şablonun dördüncü parametresi) |
5 | değer türü | çift <sabit anahtar_türü, eşlenmiş_tür> |
6 | değer_karşılaştırma | Öğeleri karşılaştırmak için iç içe geçmiş işlev sınıfı |
7 | referans | allocator_type :: başvuru |
8 | const_reference | allocator_type :: const_reference |
9 | Işaretçi | allocator_type :: işaretçi |
10 | const_pointer | allocator_type :: const_pointer |
11 | yineleyici | değer_tipine çift yönlü yineleyici |
12 | const_iterator | değer_türü sabitlemek için çift yönlü yineleyici |
13 | reverse_iterator | ters yineleyici |
14 | const_reverse_iterator | sabit ters yineleyici |
15 | fark_türü | ptrdiff_t |
16 | Beden Çeşidi | size_t |
<multimap> 'den işlevler
Aşağıda <multimap> başlığındaki tüm yöntemlerin listesi bulunmaktadır.
İnşaatçılar
Sr.No. | Yöntem ve Açıklama |
---|---|
1 | multimap :: multimap varsayılan yapıcı Sıfır elemanlı boş bir çoklu harita oluşturur. |
2 | multimap :: multimap aralık yapıcısı Aralığında gibi birçok elemanlar olarak bir Multimap oluşturur ilk için son . |
3 | multimap :: multimap kopyalama yapıcısı Mevcut çoklu haritada bulunan her öğenin kopyasıyla bir çoklu harita oluşturur. |
4 | multimap :: multimap hareket yapıcısı Diğerlerinin içerikleriyle hareket semantiğini kullanarak bir çoklu harita oluşturur. |
5 | multimap :: multimap başlatıcı liste yapıcısı Başlatma listesinden bir çoklu harita oluşturur. |
Yıkıcı
Sr.No. | Yöntem ve Açıklama |
---|---|
1 | multimap :: ~ çoklu harita Hafızasını kaldırarak multimap nesnesini yok eder. |
Üye fonksiyonları
Sr.No. | Yöntem ve Açıklama |
---|---|
1 | multimap :: begin Çoklu haritanın ilk öğesine başvuran bir yineleyici döndürür. |
2 | multimap :: cbegin Çoklu haritanın ilk öğesine başvuran sabit bir yineleyici döndürür. |
3 | multimap :: cend Çoklu haritanın sondan geçmiş öğesine işaret eden sabit bir yineleyici döndürür . |
4 | multimap :: temizle Tüm öğeleri kaldırarak çoklu haritayı yok eder ve çoklu haritanın boyutunu sıfır olarak ayarlar. |
5 | multimap :: count K anahtarıyla ilişkili çok eşlemeli değerlerin sayısını döndürür . |
6 | multimap :: crbegin Kabın son öğesine işaret eden sabit bir ters yineleyici döndürür. |
7 | multimap :: crend Kaptaki ilk öğeden önce gelen teorik öğeye işaret eden sabit bir ters yineleyici döndürür. |
8 | multimap :: yerleştirmek Yeni eleman ekleyerek kabı genişletir. |
9 | multimap :: emplace_hint ipucu sürümü Öğe konumu olarak ipucu kullanarak çoklu haritaya yeni bir öğe ekler. |
10 | multimap :: boş Çoklu haritanın boş olup olmadığını test eder. |
11 | multimap :: end Döner bir yineleyici hangi noktaları geçmiş uç Multimap'de içinde eleman. |
12 | multimap :: eşit_aralık Belirli bir anahtarla eşleşen öğe aralığını döndürür. |
13 | multimap :: pozisyon versiyonunu sil Dan MultiMAp'inin tek bir eleman kaldırır pozisyonda . |
14 | multimap :: pozisyon versiyonunu sil Dan MultiMAp'inin tek bir eleman kaldırır pozisyonda . |
15 | multimap :: anahtarı sil K anahtarıyla ilişkili eşlenmiş değeri kaldırır . |
16 | multimap :: aralık sürümünü sil Çoklu haritadan öğe aralığını kaldırır. |
17 | multimap :: aralık sürümünü sil Çoklu haritadan öğe aralığını kaldırır. |
18 | multimap :: bul K anahtarıyla ilişkili bir öğe bulur . |
19 | multimap :: get_allocator Çoklu haritayla ilişkili bir ayırıcı döndürür. |
20 | multimap :: tek eleman ekle Çoklu haritaya yeni eleman ekleyerek kapsayıcıyı genişletir. |
21 | multimap :: ipucu sürümü ekle Çoklu haritaya yeni eleman ekleyerek kapsayıcıyı genişletir. |
22 | multimap :: aralık versiyonu ekle Çoklu haritaya yeni öğeler ekleyerek kapsayıcıyı genişletir. |
23 | multimap :: hareket ipucu verstion ekle Yeni eleman ekleyerek çoklu haritayı genişletir. |
24 | multimap :: başlatıcı listesi sürümü ekle Başlatıcı listesinden yeni eleman ekleyerek çoklu haritayı genişletir. |
25 | multimap :: key_comp Anahtarları karşılaştıran bir işlev nesnesi döndürür ve bu, bu kapsayıcının yapıcı bağımsız değişkeni comp'in bir kopyasıdır . |
26 | multimap :: lower_bound K anahtarından daha az olmayan ilk öğeyi gösteren bir yineleyici döndürür . |
27 | multimap :: max_size Çoklu haritanın tutabileceği maksimum öğe sayısını döndürür. |
28 | multimap :: operator = sürümü kopyala Eski içerikleri değiştirerek çoklu haritaya yeni içerikler atayın ve gerekirse boyutu değiştirin. |
29 | multimap :: operator = sürümü taşı Bir çoklu haritanın içeriğini diğerine taşıyın ve gerekirse boyutu değiştirir. |
30 | multimap :: operator = başlatıcı listesi sürümü Başlatıcı listesindeki öğeleri çoklu haritaya kopyalayın. |
31 | multimap :: rbegin Çoklu haritanın son öğesine işaret eden bir ters yineleyici döndürür. |
32 | multimap :: rendelemek Çoklu haritanın ters ucunu gösteren bir ters yineleyici döndürür. |
33 | multimap :: size Çoklu haritada bulunan öğelerin sayısını döndürür. |
34 | multimap :: takas Çoklu haritanın içeriğini multimap x içeriğiyle değiştirir. |
35 | multimap :: Upper_bound K anahtarından daha büyük olan ilk öğeyi gösteren bir yineleyici döndürür . |
36 | multimap :: value_comp Std :: multimap :: değer_türü türündeki nesneleri karşılaştıran bir işlev nesnesi döndürür . |
Üye olmayan aşırı yüklenmiş işlevler
Sr.No. | Yöntem ve Açıklama |
---|---|
1 | operatör == İki çoklu haritanın eşit olup olmadığını test eder. |
2 | operatör! = İki çoklu haritanın eşit olup olmadığını test eder. |
3 | operatör < İlk çoklu haritanın diğerinden daha küçük olup olmadığını test eder. |
4 | multimap :: operator <= İlk çoklu haritanın diğerinden küçük veya diğerine eşit olup olmadığını test eder. |
5 | operatör> İlk çoklu haritanın diğerinden daha büyük olup olmadığını test eder. |
6 | operatör> = İlk çoklu haritanın diğerinden büyük veya diğerine eşit olup olmadığını test eder. |
7 | takas () Çoklu haritanın içeriğini multimap x içeriğiyle değiştirir. |