Perpustakaan C ++ - <list>

pengantar

Daftar adalah wadah urutan yang populer digunakan. Container adalah sebuah objek yang menyimpan data dengan tipe yang sama. Penampung daftar diimplementasikan sebagai daftar tertaut ganda, sehingga menyediakan akses sekuensial dua arah ke datanya.

Daftar tidak menyediakan akses acak cepat, ini hanya mendukung akses berurutan di kedua arah. Daftar memungkinkan operasi penyisipan dan penghapusan di mana saja dalam suatu urutan dalam waktu yang konstan.

Elemen daftar dapat tersebar di berbagai bagian memori. Penampung menyimpan informasi yang diperlukan untuk memungkinkan akses berurutan ke datanya. Daftar dapat menyusut atau diperluas sesuai kebutuhan dari kedua ujungnya pada waktu proses. Persyaratan penyimpanan dipenuhi secara otomatis oleh pengalokasi internal.

Daftar berukuran nol juga valid. Dalam kasus itu list.begin () dan list.end () menunjuk ke lokasi yang sama. Tetapi perilaku memanggil depan () atau belakang () tidak ditentukan.

Definisi

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

template < class T, class Alloc = allocator<T> > class list;

Parameter

  • T - Jenis elemen yang dikandung.

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

  • Alloc - Jenis objek pengalokasi.

    Secara default, template kelas pengalokasi digunakan, yang mendefinisikan model alokasi memori paling sederhana dan tidak bergantung pada nilai.

Jenis anggota

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

Sr.No. Jenis anggota Definisi
1 value_type T (Parameter pertama dari template)
2 jenis_alokasi Alloc (Parameter kedua dari template)
3 referensi value_type &
4 const_reference const value_type &
5 penunjuk value_type *
6 const_pointer const value_type *
7 iterator iterator akses acak ke value_type
8 const_iterator iterator akses acak ke const value_type
9 reverse_iterator std :: reverse_iterator <iterator>
10 const_reverse_iterator std :: reverse_iterator <const_iterator>
11 tipe ukuran size_t
12 perbedaan_tipe ptrdiff_t

Fungsi dari <list>

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

Konstruktor

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

Membuat daftar kosong dengan elemen nol.

2 daftar :: daftar isi konstruktor

Membuat daftar baru dengan n elemen dan menetapkan val ke setiap elemen daftar.

3 daftar :: daftar isi konstruktor

Membuat daftar baru dengan n elemen dan menetapkan nilai nol untuk setiap elemen daftar.

4 daftar :: konstruktor rentang daftar

Membuat daftar dengan elemen sebanyak dalam rentang pertama hingga terakhir .

5 daftar :: konstruktor salinan daftar

Membuat daftar dengan salinan setiap elemen yang ada dalam daftar yang ada.

6 list :: daftar pindah konstruktor

Membuat daftar dengan konten lain menggunakan semantik bergerak.

7 daftar :: daftar penginisialisasi daftar konstruktor

Membuat daftar dengan konten lain menggunakan semantik bergerak.

Penghancur

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

Menghancurkan objek daftar dengan membatalkan alokasi memorinya.

Fungsi anggota

Sr.No. Metode & Deskripsi
1 list :: menetapkan versi rentang

Menetapkan nilai baru ke daftar dengan mengganti yang lama.

2 list :: assign versi isi

Menetapkan nilai baru ke daftar dengan mengganti yang lama.

3 list :: assign versi daftar penginisialisasi

Menetapkan nilai baru ke daftar dengan mengganti yang lama.

4 list :: kembali

Mengembalikan referensi ke elemen terakhir dari daftar.

5 daftar :: mulai

Mengembalikan iterator akses acak yang menunjuk ke elemen pertama dari daftar.

6 daftar :: cbegin

Mengembalikan iterator akses acak konstan yang menunjuk ke awal daftar.

7 daftar :: cend

Mengembalikan iterator akses acak konstan yang mengarah ke akhir daftar.

8 daftar :: jelas

Hancurkan daftar dengan menghapus semua elemen dari daftar dan setel ukuran daftar ke nol.

9 daftar :: crbegin

Mengembalikan iterator terbalik konstan yang menunjuk ke elemen terakhir dari daftar.

10 daftar :: crend

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

11 daftar :: emplace

Memperluas daftar dengan memasukkan elemen baru pada posisi tertentu.

12 daftar :: emplace_back

Menyisipkan elemen baru di akhir daftar dan menambah ukuran daftar satu per satu.

13 daftar :: emplace_front

Menyisipkan elemen baru di awal daftar dan menambah ukuran daftar satu per satu.

14 list :: kosong

Menguji apakah daftar kosong atau tidak.

15 daftar :: akhir

Mengembalikan iterator akses acak yang menunjuk ke elemen terakhir dari daftar.

16 list :: hapus versi posisi

Menghapus satu elemen dari daftar.

17 daftar :: hapus versi rentang

Menghapus berbagai elemen dari daftar.

18 daftar :: depan

Mengembalikan referensi ke elemen pertama dari daftar.

19 list :: get_allocator

Mengembalikan pengalokasi yang terkait dengan daftar

20 list :: masukkan versi elemen tunggal

Perluas iterator dengan memasukkan elemen baru pada posisi dalam daftar.

21 list :: masukkan versi isi

Memperluas daftar dengan memasukkan elemen baru di penampung.

22 daftar :: masukkan versi rentang

Memperluas daftar dengan memasukkan elemen baru di penampung.

23 list :: masukkan versi pindah

Memperluas daftar dengan memasukkan elemen baru ke dalam penampung.

24 list :: masukkan versi daftar penginisialisasi

Memperluas daftar dengan memasukkan elemen baru di penampung

25 daftar :: ukuran_maks

Mengembalikan jumlah maksimum elemen yang dapat dipegang oleh daftar.

26 list :: merge

Gabungkan dua daftar yang diurutkan menjadi satu.

27 list :: merge bandingkan fungsi

Gabungkan dua daftar yang diurutkan menjadi satu.

28 list :: menggabungkan versi pindah

Gabungkan dua daftar yang diurutkan menjadi satu dengan menggunakan semantik bergerak.

29 list :: merge bandingkan versi pemindahan fungsi

Gabungkan dua daftar yang diurutkan menjadi satu dengan menggunakan semantik bergerak.

30 list :: operator = salin versi

Menetapkan konten baru ke daftar dengan mengganti yang lama.

31 list :: operator = memindahkan versi

Tetapkan konten baru ke daftar dengan mengganti yang lama.

32 list :: operator = versi daftar penginisialisasi

Tetapkan konten baru ke daftar dengan mengganti yang lama.

33 list :: pop_back

Menghapus elemen terakhir dari daftar.

34 list :: pop_front

Menghapus elemen pertama dari daftar.

35 daftar :: push_back

Menyisipkan elemen baru di akhir daftar.

36 list :: versi pemindahan push_back

Menyisipkan elemen baru di akhir daftar.

37 daftar :: push_front

Menyisipkan elemen baru di awal daftar.

38 list :: versi pindah push_front

Menyisipkan elemen baru di awal daftar.

39 daftar :: rbegin

Mengembalikan iterator terbalik yang menunjuk ke elemen terakhir dari daftar.

40 list :: hapus

menghapus elemen dari daftar yang cocok dengan nilainya.

41 list :: remove_if

menghapus elemen dari daftar yang memenuhi syarat.

42 daftar :: rend

Mengembalikan iterator terbalik yang menunjuk ke ujung kebalikan dari daftar.

43 daftar :: ubah ukuran

Mengubah ukuran daftar.

44 list :: mengubah ukuran nilai versi

Mengubah ukuran daftar.

45 daftar :: terbalik

Membalik urutan elemen yang ada dalam daftar.

46 daftar :: ukuran

Mengembalikan jumlah elemen yang ada dalam daftar.

47 list :: sort

Mengurutkan elemen daftar.

48 list :: fungsi perbandingan sortir

Mengurutkan elemen daftar.

49 daftar :: sambatan

Mentransfer semua elemen dari daftar ke * ini.

50 list :: elemen tunggal sambatan

Mentransfer elemen yang ditunjukkan oleh iterator i dari daftar x ke * this .

51 list :: versi splice move

Mentransfer semua elemen dari daftar x ke * ini dengan menggunakan semantik pindah.

52 list :: versi jangkauan sambatan

Mentransfer elemen dalam rentang pertama hingga terakhir dari x ke * ini .

53 list :: versi pemindahan elemen tunggal sambatan

Mentransfer elemen yang ditunjukkan oleh iterator i dari daftar x ke * ini dengan menggunakan semantik pindah.

54 list :: rentang sambatan dan versi pindahkan

Mentransfer elemen dalam rentang pertama hingga terakhir dari x ke * ini dengan menggunakan semantik pindah.

55 daftar :: swap

Tukar isi daftar dengan isi daftar lain x .

56 list :: unik

Menghapus semua elemen duplikat yang berurutan dari daftar.

57 list :: unik

Menghapus semua elemen duplikat yang berurutan dari daftar.

Fungsi non-anggota kelebihan beban

Sr.No. Metode & Deskripsi
1 operator ==

Menguji apakah dua daftar sama atau tidak.

2 operator! =

Menguji apakah dua daftar sama atau tidak.

3 operator <

Menguji apakah daftar pertama kurang dari yang lain atau tidak.

4 operator <=

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

5 operator>

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

6 operator> =

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

7 menukar

Bertukar isi dari dua daftar.