Perpustakaan C ++ - <unordered_map>

Pengantar unordered_map

Peta tak berurutan 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 . Ini memungkinkan pengambilan cepat elemen individu berdasarkan kuncinya. Ini juga mengimplementasikan operator akses langsung (operator subskrip []) yang memungkinkan akses langsung dari nilai yang dipetakan menggunakan nilai kuncinya sebagai argumen.

Peta tak berurutan tidak mengurutkan elemennya dalam urutan tertentu sehubungan dengan kunci atau nilai yang dipetakan, melainkan diatur ke dalam keranjang bergantung pada nilai hashnya untuk memungkinkan akses cepat ke elemen individual secara langsung dengan nilai kuncinya.

Peta tak berurutan berkinerja lebih baik daripada peta saat mengakses elemen individu dengan kuncinya. Tetapi untuk iterasi jarak, kinerjanya sangat rendah.

Definisi

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

template < class Key,
           class T,
           class Hash = hash<Key>,
           class Pred = equal_to<Key>,
           class Alloc = allocator< pair<const Key,T> >
           > class unordered_map;

Parameter

  • Key - Jenis kuncinya.

  • T - Jenis nilai yang dipetakan.

  • Hash- Tipe objek fungsi unary yang mengambil objek tipe kunci sebagai argumen dan mengembalikan nilai unik tipe size_t berdasarkan padanya.

  • Pred- Predikat biner yang mana dua argumen dari tipe kunci 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 value_type pasangkan <const key_type, mapped_type>
4 penggiling daging Parameter template ketiga (defaultnya: hash <key_type>)
5 key_equal Parameter template keempat (default ke: equal_to <key_type>)
6 jenis_alokasi Alloc (Parameter kelima dari template)
7 referensi value_type &
8 const_reference const value_type &
9 penunjuk Allocator_traits <Alloc> :: pointer
10 const_pointer Allocator_traits <Alloc> :: const_pointer
11 iterator Sebuah iterator meneruskan ke jenis_ nilai value_type
12 const_iterator Sebuah iterator meneruskan ke const value_type value_type
13 local_iterator Sebuah iterator ke value_type
14 const_local_iterator Sebuah iterator meneruskan ke const value_type
15 perbedaan_tipe ptrdiff_t
16 tipe ukuran size_t

Fungsi dari <unordered_map>

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

Konstruktor

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

Membuat unordered_map kosong dengan elemen nol.

2 unordered_map :: unordered_map copy constructor

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

3 unordered_map :: unordered_map pindah konstruktor

Membuat unordered_map dengan konten lainnya menggunakan semantik bergerak.

4 unordered_map :: konstruktor rentang unordered_map

Membangun unordered_map dengan elemen sebanyak dalam rentang pertama hingga terakhir .

5 unordered_map :: unordered_map initializer_list konstruktor

Membuat peta_yang tidak dipesan dari daftar inisialisasi.

Penghancur

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

Menghancurkan objek unordered_map dengan membatalkan alokasi memorinya.

Fungsi anggota

Sr.No. Metode & Deskripsi
1 unordered_map :: at

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

2 unordered_map :: begin container iterator

Mengembalikan iterator yang merujuk ke elemen pertama peta.

3 unordered_map :: begin bucket iterator

Mengembalikan iterator yang menunjuk ke elemen pertama di salah satu keranjangnya.

4 unordered_map :: bucket

Mengembalikan nomor keranjang tempat elemen dengan kunci k berada.

5 unordered_map :: bucket_count

Mengembalikan jumlah keranjang dalam wadah unordered_map.

6 unordered_map :: bucket_size

Mengembalikan jumlah elemen yang ada di keranjang ke- n .

7 unordered_map :: cbegin container iterator

Mengembalikan iterator konstan yang merujuk ke elemen pertama dari unordered_map.

8 unordered_map :: cbegin bucket iterator

Mengembalikan iterator konstan yang menunjuk ke elemen pertama di salah satu keranjangnya.

9 unordered_map :: cend container iterator

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

10 unordered_map :: cend bucket iterator

Mengembalikan iterator konstan yang menunjuk ke elemen masa lalu di salah satu keranjangnya.

11 unordered_map :: clear

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

12 unordered_map :: count

Mengembalikan jumlah nilai yang dipetakan yang terkait dengan kunci k .

13 unordered_map :: emplace

Memperluas penampung dengan memasukkan elemen baru.

14 unordered_map :: emplace_hint

Menyisipkan elemen baru dalam unordered_map menggunakan petunjuk sebagai posisi elemen.

15 unordered_map :: kosong

Menguji apakah unordered_map kosong atau tidak.

16 unordered_map :: end container iterator

Mengembalikan iterator yang menunjuk ke elemen melewati-akhir dalam peta_unordered.

17 unordered_map :: end bucket iterator

Mengembalikan iterator yang menunjuk ke elemen masa lalu di salah satu keranjangnya.

18 unordered_map :: equal

Mengembalikan berbagai elemen yang cocok dengan kunci tertentu.

19 unordered_map :: hapus versi posisi

Menghapus satu elemen unordered_map dari posisi .

20 unordered_map :: hapus versi kunci

Menghapus nilai yang dipetakan yang terkait dengan kunci k .

21 unordered_map :: erase range version

Menghapus berbagai elemen dari unordered_map.

22 unordered_map :: find

Menemukan elemen yang terkait dengan kunci k .

23 unordered_map :: get_allocator

Mengembalikan pengalokasi yang terkait dengan unordered_map.

24 unordered_map :: hash_function

Menghitung objek fungsi hash yang digunakan oleh kontainer unordered_map.

25 unordered_map :: insert

Memperluas penampung dengan memasukkan elemen baru dalam unordered_map.

26 unordered_map :: masukkan versi pindah

Memperluas penampung dengan memasukkan elemen baru dalam unordered_map.

27 unordered_map :: masukkan versi petunjuk

Memperluas conta iner dengan memasukkan elemen baru dalam unordered_map.

28 unordered_map :: sisipkan langkah dan versi petunjuk

Memperluas unordered_map dengan memasukkan elemen baru.

29 unordered_map :: masukkan versi rentang

Memperluas penampung dengan memasukkan elemen baru di unordered_map.

30 unordered_map :: masukkan versi initializer_list

Memperluas peta dengan memasukkan elemen baru dari daftar penginisialisasi.

31 unordered_map :: key_eq

Mengembalikan fungsi yang membandingkan kunci persamaan.

32 unordered_map :: load_factor

Mengembalikan faktor beban saat ini dari kontainer unordered_map.

33 unordered_map :: max_bucket_count

Menampilkan jumlah maksimum bucket yang dapat dimiliki container unordered_map.

34 unordered_map :: max_load_factor dapatkan versi

Mengembalikan faktor beban maksimum saat ini untuk penampung unordered_map.

35 unordered_map :: max_load_factor versi set

Menetapkan faktor beban baru untuk penampung unordered_map.

36 unordered_map :: max_size

Mengembalikan jumlah maksimum elemen yang bisa dipegang oleh unordered_map.

37 unordered_map :: operator = salin versi

Menetapkan konten baru ke unordered_map dengan mengganti yang lama dan mengubah ukuran jika perlu.

38 unordered_map :: operator = memindahkan versi

Pindahkan konten dari satu unordered_map ke yang lain dan ubah ukuran jika perlu.

39 unordered_map :: operator = initializer_list version

Salin elemen dari daftar penginisialisasi ke unordered_map.

40 unordered_map :: operator []

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

41 unordered_map :: operator [] memindahkan versi

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

42 unordered_map :: rehash

Setel jumlah ember dalam wadah menjadi n atau lebih.

43 unordered_map :: reserve

Menyetel jumlah keranjang dalam wadah yang paling sesuai untuk memuat setidaknya n elemen.

44 unordered_map :: size

Mengembalikan jumlah elemen yang ada di unordered_map.

45 unordered_map :: swap

Menukar konten unordered_map pertama dengan yang lain.

Fungsi non-anggota kelebihan beban

Sr.No. Metode & Deskripsi
1 unordered_map :: operator ==

Menguji apakah dua unordered_maps sama atau tidak.

2 unordered_map :: operator! =

Menguji apakah dua unordered_maps sama atau tidak.

3 unordered_map :: swap

Menukar konten unordered_map pertama dengan yang lain.

Pengantar unordered_multimap

Unordered_multimap adalah kamus seperti struktur data. Ini adalah urutan pasangan (kunci, nilai), di mana elemen yang berbeda dapat memiliki kunci yang setara. Elemen dengan kunci yang setara dikelompokkan bersama dalam keranjang yang sama dan sedemikian rupa sehingga iterator equal_range dapat melakukan iterasi melalui semuanya.

Unordered_multimap tidak mengurutkan elemennya dalam urutan tertentu yang terkait dengan kunci atau nilai yang dipetakan, melainkan diatur ke dalam keranjang bergantung pada nilai hashnya untuk memungkinkan akses cepat ke masing-masing elemen secara langsung dengan nilai kuncinya.

Definisi

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

template < class Key, 
           class T,
           class Hash = hash<Key>,
           class Pred = equal_to<Key>,
           class Alloc = allocator< pair<const Key,T> >
           > class unordered_multimap;

Parameter

  • Key - Jenis kuncinya.

  • T - Jenis nilai yang dipetakan.

  • Hash- Tipe objek fungsi unary yang mengambil objek tipe kunci sebagai argumen dan mengembalikan nilai unik tipe size_t berdasarkan padanya.

  • Pred- Predikat biner yang mana dua argumen dari tipe kunci 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 value_type pasangkan <const key_type, mapped_type>
4 penggiling daging Parameter template ketiga (defaultnya: hash <key_type>)
5 key_equal Parameter template keempat (default ke: equal_to <key_type>)
6 jenis_alokasi Alloc (Parameter kelima dari template)
7 referensi value_type &
8 const_reference const value_type &
9 penunjuk Allocator_traits <Alloc> :: pointer
10 const_pointer Allocator_traits <Alloc> :: const_pointer
11 iterator Sebuah iterator meneruskan ke jenis_ nilai value_type
12 const_iterator Sebuah iterator meneruskan ke const value_type value_type
13 local_iterator Sebuah iterator ke value_type
14 const_local_iterator Sebuah iterator meneruskan ke const value_type
15 perbedaan_tipe ptrdiff_t
16 tipe ukuran size_t

Fungsi dari <unordered_multimap>

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

Konstruktor

Sr.No. Metode & Deskripsi
1 unordered_multimap :: unordered_multimap () konstruktor default

Membuat unordered_multimap kosong dengan elemen nol.

2 unordered_multimap :: unordered_multimap () copy konstruktor

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

3 unordered_multimap :: unordered_multimap () memindahkan konstruktor

Membuat unordered_multimap dengan konten lainnya menggunakan semantik bergerak.

4 unordered_multimap :: unordered_multimap () range konstruktor

Membangun unordered_multimap dengan sebanyak mungkin elemen dalam rentang pertama hingga terakhir .

5 unordered_multimap :: unordered_multimap () initializer_list konstruktor

Membuat unordered_multimap dari daftar inisialisasi.

Penghancur

Sr.No. Metode & Deskripsi
1 unordered_multimap :: ~ unordered_multimap ()

Menghancurkan objek unordered_multimap dengan membatalkan alokasi memorinya.

Fungsi anggota

Sr.No. Metode & Deskripsi
1 unordered_multimap :: begin () container iterator

Mengembalikan iterator yang merujuk ke elemen pertama dari unordered_mulitmap.

2 unordered_multimap :: begin () iterator bucket

Mengembalikan iterator yang menunjuk ke elemen pertama di salah satu keranjangnya.

3 unordered_multimap :: bucket ()

Mengembalikan nomor keranjang tempat elemen dengan kunci k berada.

4 unordered_multimap :: bucket_count ()

Mengembalikan jumlah keranjang yang ada dalam penampung unordered_multimap.

5 unordered_multimap :: bucket_size ()

Mengembalikan jumlah elemen yang ada di keranjang ke- n .

6 unordered_multimap :: cbegin () iterator kontainer

Mengembalikan iterator konstan yang merujuk ke elemen pertama dari unordered_multimap.

7 unordered_multimap :: cbegin () iterator bucket

Mengembalikan iterator konstan yang menunjuk ke elemen pertama di salah satu keranjangnya.

8 unordered_multimap :: cend () iterator kontainer

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

9 unordered_multimap :: cend () iterator bucket

Mengembalikan iterator konstan yang menunjuk ke elemen masa lalu di salah satu keranjangnya.

10 unordered_multimap :: clear ()

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

11 unordered_multimap :: count ()

Mengembalikan jumlah nilai yang dipetakan yang terkait dengan kunci k .

12 unordered_multimap :: emplace ()

Memperluas penampung dengan memasukkan elemen baru.

13 unordered_multimap :: emplace_hint ()

Menyisipkan elemen baru dalam unordered_multimap menggunakan petunjuk sebagai posisi elemen.

14 unordered_multimap :: empty ()

Menguji apakah unordered_multimap kosong atau tidak.

15 unordered_multimap :: end () iterator kontainer

Mengembalikan iterator yang menunjuk ke elemen melewati-akhir di unordered_multimap.

16 unordered_multimap :: end () iterator bucket

Mengembalikan iterator yang menunjuk ke elemen masa lalu di salah satu keranjangnya.

17 unordered_multimap :: equal_range ()

Mengembalikan berbagai elemen yang cocok dengan kunci tertentu.

18 unordered_multimap :: erase () versi posisi

Menghapus satu elemen unordered_multimap dari posisi .

19 unordered_multimap :: erase () versi kunci

Menghapus nilai yang dipetakan yang terkait dengan kunci k .

20 unordered_multimap :: erase () range version

Menghapus berbagai elemen dari unordered_multimap tersebut.

21 unordered_multimap :: find ()

Menemukan elemen yang terkait dengan kunci k .

22 unordered_multimap :: get_allocator ()

Mengembalikan pengalokasi yang terkait dengan unordered_multimap.

23 unordered_multimap :: hash_function ()

Menghitung objek fungsi hash yang digunakan oleh kontainer unordered_multimap.

24 unordered_multimap :: insert () value version

Memperluas penampung dengan memasukkan elemen baru di unordered_multimap.

25 unordered_multimap :: insert () memindahkan versi

Memperluas unordered_multimap dengan memasukkan elemen baru.

26 unordered_multimap :: insert () versi petunjuk

Memperluas penampung dengan memasukkan elemen baru di unordered_multimap.

27 unordered_multimap :: insert () versi pemindahan petunjuk

Memperluas penampung dengan memasukkan elemen baru di unordered_multimap menggunakan semantik bergerak.

28 unordered_multimap :: insert () range version

Memperluas penampung dengan memasukkan elemen baru di unordered_multimap.

29 unordered_multimap :: insert () versi initializer_list

Memperluas unordered_multimap dengan memasukkan elemen baru dari daftar penginisialisasi.

30 unordered_multimap :: key_eq ()

Mengembalikan fungsi yang membandingkan kunci persamaan.

31 unordered_multimap :: load_factor ()

Mengembalikan faktor beban saat ini dari penampung unordered_multimap.

32 unordered_multimap :: max_bucket_count ()

Menampilkan jumlah maksimum bucket yang dapat dimiliki container unordered_multimap.

33 unordered_multimap :: max_load_factor () dapatkan versi

Mengembalikan faktor beban maksimum saat ini untuk penampung unordered_multimap.

34 unordered_multimap :: max_load_factor () set versi

Menetapkan faktor beban baru untuk penampung unordered_multimap.

35 unordered_multimap :: max_size ()

Mengembalikan jumlah maksimum elemen yang dapat dipegang oleh unordered_multimap.

36 unordered_multimap :: operator = () salin versi

Menetapkan konten baru ke unordered_multimap dengan mengganti yang lama dan mengubah ukuran jika perlu.

37 unordered_multimap :: operator = () memindahkan versi

Pindahkan konten dari satu unordered_multimap ke yang lain dan ubah ukuran jika perlu.

38 unordered_multimap :: operator = () versi initializer_list

Salin elemen dari daftar penginisialisasi ke unordered_multimap.

39 unordered_multimap :: rehash ()

Setel jumlah ember dalam wadah menjadi n atau lebih.

40 unordered_multimap :: reserve ()

Menyetel jumlah keranjang dalam wadah yang paling sesuai untuk memuat setidaknya n elemen.

41 unordered_multimap :: size ()

Mengembalikan jumlah elemen yang ada di unordered_multimap.

42 unordered_multimap :: swap ()

Menukar konten unordered_multimap pertama dengan yang lain.

Fungsi non-anggota kelebihan beban

Sr.No. Metode & Deskripsi
1 unordered_multimap :: operator == ()

Menguji apakah dua unordered_multimaps sama atau tidak.

2 unordered_multimap :: operator! = ()

Menguji apakah dua unordered_multimaps sama atau tidak.

3 unordered_multimap :: swap ()

Menukar konten unordered_multimap pertama dengan yang lain.