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. |