Perpustakaan C ++ - <map>

Pengantar peta

Peta adalah kamus seperti struktur data. Ini adalah urutan pasangan (kunci, nilai), di mana hanya satu nilai yang dikaitkan dengan setiap kunci unik. Ini sering disebut sebagai array asosiatif .

Dalam peta nilai kunci umumnya digunakan untuk mengurutkan elemen. Untuk tipe data peta kunci dan nilai dapat berbeda dan direpresentasikan sebagai

typedef pair<const Key, T> value_type;

Peta biasanya diimplementasikan sebagai Binary Search Tree.

Peta berukuran nol juga valid. Dalam hal ini map.begin () dan map.end () menunjuk ke lokasi yang sama.

Definisi

Di bawah ini adalah definisi std :: map dari file header <map>

template < class Key,
           class T,
           class Compare = less<Key>,
           class Alloc = allocator<pair<const Key,T> >
           > class map;

Parameter

  • Key - Jenis kuncinya.

  • T - Jenis nilai yang dipetakan.

  • Compare - Predikat biner yang menggunakan dua kunci elemen sebagai argumen dan mengembalikan bool.

  • Alloc - Jenis objek pengalokasi.

T dapat diganti dengan tipe data lain termasuk tipe yang ditentukan pengguna.

Jenis anggota

Jenis anggota berikut dapat digunakan sebagai parameter atau jenis pengembalian berdasarkan fungsi anggota.

Sr.No. Jenis anggota Definisi
1 key_type Key (Parameter pertama dari template)
2 mapped_type T (Parameter kedua dari template)
3 key_compare Bandingkan (Parameter ketiga dari template)
4 jenis_alokasi Alloc (Parameter keempat dari template)
5 value_type pasangkan <const key_type, mapped_type>
6 value_compare Kelas fungsi bersarang untuk membandingkan elemen
7 referensi alokasi_type :: referensi
8 const_reference alokasiator_type :: const_reference
9 penunjuk alokasiator_type :: pointer
10 const_pointer alokasiator_type :: const_pointer
11 iterator iterator dua arah ke value_type
12 const_iterator iterator dua arah ke const value_type
13 reverse_iterator membalikkan iterator
14 const_reverse_iterator iterator terbalik konstan
15 perbedaan_tipe ptrdiff_t
16 tipe ukuran size_t

Fungsi dari <map>

Di bawah ini adalah daftar semua metode dari <map> header.

Konstruktor

Sr.No. Metode & Deskripsi
1 peta :: konstruktor default peta

Membangun peta kosong dengan elemen nol.

2 peta :: konstruktor jangkauan peta

Membuat peta dengan elemen sebanyak dalam rentang pertama hingga terakhir .

3 peta :: konstruktor salinan peta

Membuat peta dengan salinan setiap elemen yang ada di peta yang ada.

4 peta :: konstruktor bergerak peta

Membuat peta dengan konten lain menggunakan semantik bergerak.

5 peta :: konstruktor daftar penginisialisasi peta

Membuat peta dari daftar inisialisasi.

Penghancur

Sr.No. Metode & Deskripsi
1 peta :: ~ peta

Menghancurkan objek peta dengan membatalkan alokasi memorinya.

Fungsi anggota

Sr.No. Metode & Deskripsi
1 peta :: di

Mengembalikan referensi ke nilai yang dipetakan yang terkait dengan kunci k .

2 peta :: mulai

Mengembalikan iterator yang merujuk ke elemen pertama peta.

3 peta :: cbegin

Mengembalikan iterator konstan yang merujuk ke elemen pertama peta.

4 peta :: cend

Pengembalian konstan iterator yang menunjuk ke masa lalu-the-end unsur peta.

5 peta :: jelas

Hancurkan peta dengan menghapus semua elemen dan menyetel ukuran peta menjadi nol.

6 peta :: hitungan

Mengembalikan jumlah nilai yang dipetakan yang terkait dengan kunci k .

7 peta :: crbegin

Mengembalikan iterator terbalik konstan yang menunjuk ke elemen terakhir wadah i.

8 peta :: crend

Mengembalikan iterator terbalik konstan yang menunjuk ke elemen teoritis sebelum elemen pertama dalam wadah i.

9 peta :: emplace

Memperluas penampung dengan memasukkan elemen baru.

10 peta :: versi petunjuk emplace_hint

Menyisipkan elemen baru di peta menggunakan petunjuk sebagai posisi untuk elemen.

11 peta :: kosong

Menguji apakah peta kosong atau tidak.

12 peta :: akhir

Mengembalikan sebuah iterator yang menunjuk ke masa lalu-the-end elemen dalam peta.

13 peta :: rentang_sama

Mengembalikan berbagai elemen yang cocok dengan kunci tertentu.

14 map :: hapus versi posisi

Menghapus satu elemen peta dari posisinya .

15 map :: hapus versi posisi

Menghapus satu elemen peta dari posisinya .

16 map :: hapus kunci

Menghapus nilai yang dipetakan yang terkait dengan kunci k .

17 map :: hapus versi rentang

Menghapus berbagai elemen dari peta.

18 map :: hapus versi rentang

Menghapus berbagai elemen dari peta.

19 peta :: temukan

Menemukan elemen yang terkait dengan kunci k .

20 peta :: get_allocator

Mengembalikan pengalokasi yang terkait dengan peta.

21 map :: masukkan elemen tunggal

Memperluas wadah dengan memasukkan elemen baru di peta.

22 map :: masukkan versi petunjuk

Memperluas wadah dengan memasukkan elemen baru di peta.

23 peta :: masukkan versi jangkauan

Memperluas wadah dengan memasukkan elemen baru di peta.

24 map :: masukkan ayat petunjuk bergerak

Memperluas peta dengan memasukkan elemen baru.

25 map :: masukkan versi daftar penginisialisasi

Memperluas peta dengan memasukkan elemen baru dari daftar penginisialisasi.

26 map :: key_comp

Mengembalikan objek fungsi yang membandingkan kunci, yang merupakan salinan dari comp argumen konstruktor penampung ini .

27 peta :: batas_bawah

Mengembalikan iterator yang menunjuk ke elemen pertama yang tidak kurang dari kunci k .

28 peta :: ukuran_maks

Mengembalikan jumlah maksimum elemen yang bisa dipegang oleh peta.

29 map :: operator = salin versi

Tetapkan konten baru ke peta dengan mengganti yang lama dan ubah ukuran jika perlu.

30 map :: operator = memindahkan versi

Pindahkan konten dari satu peta ke peta lainnya dan ubah ukuran jika perlu.

31 map :: operator = versi daftar penginisialisasi

Salin elemen dari daftar penginisialisasi ke peta.

32 map :: operator [] salin versi

Jika kunci k cocok dengan elemen dalam penampung, maka metode mengembalikan referensi ke elemen tersebut.

33 map :: operator [] memindahkan versi

Jika kunci k cocok dengan elemen dalam penampung, maka metode mengembalikan referensi ke elemen tersebut.

34 peta :: rbegin

Mengembalikan iterator terbalik yang menunjuk ke elemen terakhir peta.

35 peta :: rend

Mengembalikan iterator terbalik yang menunjuk ke ujung belakang peta i.

36 ukuran peta

Mengembalikan jumlah elemen yang ada di peta.

37 peta :: swap

Bertukar isi peta dengan isi peta x.

38 peta :: batas_atas

Mengembalikan iterator yang menunjuk ke elemen pertama yang lebih besar dari kunci k .

39 map :: value_comp

Mengembalikan objek fungsi yang membandingkan objek berjenis std :: map :: value_type .

Fungsi non-anggota kelebihan beban

Sr.No. Metode & Deskripsi
1 operator ==

Menguji apakah dua peta sama atau tidak.

2 operator! =

Menguji apakah dua peta sama atau tidak.

3 operator <

Menguji apakah peta pertama kurang dari yang lain atau tidak.

4 peta :: operator <=

Menguji apakah peta pertama kurang dari atau sama dengan yang lain atau tidak.

5 operator>

Menguji apakah peta pertama lebih besar dari yang lain atau tidak.

6 operator> =

Menguji apakah peta pertama lebih besar dari atau sama dengan yang lain atau tidak.

7 menukar()

Bertukar isi peta dengan isi peta x.

Pengantar multimap

Multimap adalah kamus seperti struktur data. Ini adalah urutan pasangan (kunci, nilai) , di mana beberapa nilai dapat dikaitkan dengan kunci yang setara. Ini sering disebut sebagai array asosiatif .

Dalam multimap nilai kunci umumnya digunakan untuk mengurutkan elemen. Untuk tipe data multimap, kunci dan nilai dapat berbeda dan direpresentasikan sebagai

typedef pair<const Key, T> value_type;

Multimaps biasanya diimplementasikan sebagai Binary Search Tree.

Multimaps berukuran nol juga valid. Dalam hal ini multimap.begin () dan multimap.end () menunjuk ke lokasi yang sama.

Definisi

Di bawah ini adalah definisi std :: multimap dari file header <multimap>

template < class Key,
           class T,
           class Compare = less<Key>,
           class Alloc = allocator<pair<const Key,T> >
           > class multimap;

Parameter

  • Key - Jenis kuncinya.

  • T - Jenis nilai yang dipetakan.

  • Compare - Predikat biner yang menggunakan dua kunci elemen sebagai argumen dan mengembalikan bool.

  • Alloc - Jenis objek pengalokasi.

  • T dapat diganti dengan tipe data lain termasuk tipe yang ditentukan pengguna.

Jenis anggota

Jenis anggota berikut dapat digunakan sebagai parameter atau jenis pengembalian berdasarkan fungsi anggota.

Sr.No. Jenis anggota Definisi
1 key_type Key (Parameter pertama dari template)
2 mapped_type T (Parameter kedua dari template)
3 key_compare Bandingkan (Parameter ketiga dari template)
4 jenis_alokasi Alloc (Parameter keempat dari template)
5 value_type pasangkan <const key_type, mapped_type>
6 value_compare Kelas fungsi bersarang untuk membandingkan elemen
7 referensi alokasi_type :: referensi
8 const_reference alokasiator_type :: const_reference
9 penunjuk alokasiator_type :: pointer
10 const_pointer alokasiator_type :: const_pointer
11 iterator iterator dua arah ke value_type
12 const_iterator iterator dua arah ke const value_type
13 reverse_iterator membalikkan iterator
14 const_reverse_iterator iterator terbalik konstan
15 perbedaan_tipe ptrdiff_t
16 tipe ukuran size_t

Fungsi dari <multimap>

Di bawah ini adalah daftar semua metode dari <multimap> header.

Konstruktor

Sr.No. Metode & Deskripsi
1 multimap :: konstruktor default multimap

Membuat multimap kosong dengan elemen nol.

2 multimap :: konstruktor jangkauan multimap

Membuat multimap dengan elemen sebanyak dalam rentang pertama hingga terakhir .

3 multimap :: konstruktor salinan multimap

Membuat multimap dengan salinan setiap elemen yang ada di multimap yang ada.

4 multimap :: multimap pindah konstruktor

Membuat multimap dengan konten lainnya menggunakan semantik bergerak.

5 multimap :: multimap penginisialisasi daftar konstruktor

Membuat multimap dari daftar inisialisasi.

Penghancur

Sr.No. Metode & Deskripsi
1 multimap :: ~ multimap

Menghancurkan objek multimap dengan membatalkan alokasi memorinya.

Fungsi anggota

Sr.No. Metode & Deskripsi
1 multimap :: mulai

Mengembalikan iterator yang merujuk ke elemen pertama multimap.

2 multimap :: cbegin

Mengembalikan iterator konstan yang merujuk ke elemen pertama multimap.

3 multimap :: cend

Pengembalian konstan iterator yang menunjuk ke masa lalu-the-end unsur multimap tersebut.

4 multimap :: jelas

Hancurkan multimap dengan menghapus semua elemen dan setel ukuran multimap ke nol.

5 multimap :: count

Mengembalikan jumlah nilai multimapped yang terkait dengan kunci k .

6 multimap :: crbegin

Mengembalikan iterator terbalik konstan yang menunjuk ke elemen terakhir penampung.

7 multimap :: crend

Mengembalikan iterator terbalik konstan yang menunjuk ke elemen teoritis sebelum elemen pertama dalam penampung.

8 multimap :: emplace

Memperluas penampung dengan memasukkan elemen baru.

9 multimap :: versi petunjuk emplace_hint

Menyisipkan elemen baru dalam multimap menggunakan petunjuk sebagai posisi elemen.

10 multimap :: kosong

Menguji apakah multimap kosong atau tidak.

11 multimap :: end

Mengembalikan sebuah iterator yang menunjuk ke masa lalu-the-end elemen dalam multimap tersebut.

12 multimap :: equal_range

Mengembalikan berbagai elemen yang cocok dengan kunci tertentu.

13 multimap :: menghapus versi posisi

Menghapus satu elemen multimap dari posisinya .

14 multimap :: menghapus versi posisi

Menghapus satu elemen multimap dari posisinya .

15 multimap :: tombol hapus

Menghapus nilai yang dipetakan yang terkait dengan kunci k .

16 multimap :: erase range version

Menghapus berbagai elemen dari multimap.

17 multimap :: erase range version

Menghapus berbagai elemen dari multimap.

18 multimap :: temukan

Menemukan elemen yang terkait dengan kunci k .

19 multimap :: get_allocator

Mengembalikan pengalokasi yang terkait dengan multimap.

20 multimap :: menyisipkan elemen tunggal

Memperluas penampung dengan memasukkan elemen baru dalam multimap.

21 multimap :: masukkan versi petunjuk

Memperluas penampung dengan memasukkan elemen baru dalam multimap.

22 multimap :: masukkan versi rentang

Memperluas penampung dengan memasukkan elemen baru di multimap.

23 multimap :: masukkan ayat petunjuk bergerak

Memperluas multimap dengan memasukkan elemen baru.

24 multimap :: masukkan versi daftar penginisialisasi

Memperluas multimap dengan memasukkan elemen baru dari daftar penginisialisasi.

25 multimap :: key_comp

Mengembalikan objek fungsi yang membandingkan kunci, yang merupakan salinan dari comp argumen konstruktor penampung ini .

26 multimap :: lower_bound

Mengembalikan iterator yang menunjuk ke elemen pertama yang tidak kurang dari kunci k .

27 multimap :: max_size

Mengembalikan jumlah maksimum elemen yang dapat dipegang oleh multimap.

28 multimap :: operator = salin versi

Tetapkan konten baru ke multimap dengan mengganti yang lama dan ubah ukuran jika perlu.

29 multimap :: operator = memindahkan versi

Pindahkan konten dari satu multimap ke multimap lainnya dan ubah ukuran jika perlu.

30 multimap :: operator = versi daftar penginisialisasi

Salin elemen dari daftar penginisialisasi ke multimap.

31 multimap :: rbegin

Mengembalikan iterator terbalik yang menunjuk ke elemen terakhir multimap.

32 multimap :: rend

Mengembalikan iterator terbalik yang menunjuk ke ujung kebalikan dari multimap.

33 multimap :: size

Mengembalikan jumlah elemen yang ada di multimap.

34 multimap :: swap

Menukar konten multimap dengan konten multimap x.

35 multimap :: upper_bound

Mengembalikan iterator yang menunjuk ke elemen pertama yang lebih besar dari kunci k .

36 multimap :: value_comp

Mengembalikan objek fungsi yang membandingkan objek berjenis std :: multimap :: value_type .

Fungsi non-anggota kelebihan beban

Sr.No. Metode & Deskripsi
1 operator ==

Menguji apakah dua multimaps sama atau tidak.

2 operator! =

Menguji apakah dua multimaps sama atau tidak.

3 operator <

Menguji apakah multimap pertama kurang dari yang lain atau tidak.

4 multimap :: operator <=

Menguji apakah multimap pertama kurang dari atau sama dengan lainnya atau tidak.

5 operator>

Menguji apakah multimap pertama lebih besar dari yang lain atau tidak.

6 operator> =

Menguji apakah multimap pertama lebih besar dari atau sama dengan lainnya atau tidak.

7 menukar()

Menukar konten multimap dengan konten multimap x.