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.