Library C ++ - <queue>

Pengantar antrian

Antrian adalah struktur data yang dirancang untuk beroperasi dalam konteks FIFO (First in First out). Dalam antrian elemen dimasukkan dari ujung belakang dan dihapus dari ujung depan .

Kelas antrian adalah adaptor kontainer. Container adalah sebuah objek yang menyimpan data dengan tipe yang sama. Antrian dapat dibuat dari kontainer urutan yang berbeda. Adaptor penampung tidak mendukung iterator oleh karena itu kami tidak dapat menggunakannya untuk manipulasi data. Namun mereka mendukung fungsi anggota push () dan pop () untuk penyisipan dan penghapusan data masing-masing.

Definisi

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

template <class T, class Container = deque<T> > class queue;

Parameter

  • T - Jenis elemen yang dikandung.

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

  • Container - Jenis objek kontainer yang mendasari.

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 container_type Parameter kedua dari template
3 tipe ukuran size_t
4 referensi value_type &
5 const_reference const value_type &
6 perbedaan_tipe ptrdiff_t

Fungsi dari <queue>

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

Konstruktor

Sr.No. Metode & Deskripsi
1 queue :: konstruktor default antrian

Membangun objek antrian kosong, dengan elemen nol.

2 queue :: queue menginisialisasi konstruktor

Membuat objek antrian dan menetapkan wadah internal dengan salinan ctnr .

3 queue :: queue pindah konstruktor

Membangun antrian dengan konten lain menggunakan semantik bergerak.

4 queue :: konstruktor salinan antrian

Membangun sebuah antrian dengan salinan dari setiap elemen hadir dalam ada antrian lainnya .

Penghancur

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

Menghancurkan antrian dengan membatalkan alokasi memori kontainer.

Fungsi anggota

Sr.No. Metode & Deskripsi
1 antrian :: kembali

Mengembalikan referensi ke elemen antrian terakhir.

2 antrian :: emplace

Membangun dan menyisipkan elemen baru di akhir antrian.

3 antrian :: kosong

Menguji apakah antrian kosong atau tidak.

4 antrian :: depan

Mengembalikan referensi ke elemen pertama antrian.

5 queue :: operator = salin versi

Menetapkan konten baru ke antrian dengan mengganti yang lama.

6 queue :: operator = pindah versi

Menetapkan konten baru ke antrian dengan mengganti yang lama.

7 antrian :: pop

Menghapus elemen depan antrian.

8 queue :: dorong versi salin

Menyisipkan elemen baru di akhir antrian.

9 queue :: push move versi

Menyisipkan elemen baru di akhir antrian.

10 antrian :: ukuran

Mengembalikan jumlah total elemen yang ada dalam antrian.

11 antrian :: swap

Menukar isi antrian dengan isi antrian lain.

Fungsi non-anggota kelebihan beban

Sr.No. Metode & Deskripsi
1 operator ==

Menguji apakah dua antrian sama atau tidak.

2 operator! =

Menguji apakah dua antrian sama atau tidak.

3 operator <

Menguji apakah antrian pertama kurang dari yang lain atau tidak.

4 operator <=

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

5 operator>

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

6 operator> =

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

7 menukar

Bertukar isi dari dua antrian.

Pengantar antrian_rioritas

Antrian prioritas adalah struktur data antrian yang memiliki prioritas. Antrean prioritas dapat dianalogikan dengan struktur data heap di mana elemen dapat disisipkan dalam urutan apa pun dan selalu elemen heap maks diambil terlebih dahulu.

Definisi

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

template <class T, class Container = vector<T>,
class Compare = less<typename Container::value_type> < class priority_queue;

Parameter

  • T - Jenis elemen yang dikandung.

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

  • Container - Jenis objek kontainer yang mendasari.

  • Compare - Perbandingan objek yang akan digunakan untuk mengurutkan priority_queue.

    Ini mungkin sebuah penunjuk fungsi atau objek fungsi yang dapat membandingkan dua argumennya.

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 container_type Parameter kedua dari template
3 tipe ukuran size_t
4 referensi value_type &
5 const_reference const value_type &
6 perbedaan_tipe ptrdiff_t

Fungsi dari <queue>

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

Konstruktor

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

Membuat antrian_rioritas kosong dengan elemen nol.

2 priority_queue :: priority_queue menginisialisasi konstruktor

Membuat objek priority_queue dan menetapkan wadah internal dengan salinan ctnr .

3 priority_queue :: konstruktor rentang_rioritas

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

4 priority_queue :: priority_queue memindahkan konstruktor

Membuat prioritas_queue dengan konten lainnya menggunakan semantik bergerak.

5 priority_queue :: konstruktor salinan priority_queue

Membuat prioritas_queue dengan salinan setiap elemen yang ada di priority_queue yang ada lainnya.

Penghancur

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

Menghancurkan priority_queue dengan membatalkan alokasi memori container.

Fungsi anggota

Sr.No. Metode & Deskripsi
1 priority_queue :: emplace

Membuat dan menyisipkan elemen baru dalam urutan yang diurutkan dalam priority_queue.

2 priority_queue :: kosong

Menguji apakah pritority_queue kosong atau tidak.

3 priority_queue :: operator = salin versi

Menetapkan konten baru ke priority_queue dengan mengganti yang lama.

4 priority_queue :: operator = memindahkan versi

Menetapkan konten baru ke priority_queue dengan mengganti yang lama.

5 priority_queue :: pop

Menghapus elemen depan dari priority_queue.

6 priority_queue :: dorong versi salin

Menyisipkan elemen baru dalam urutan yang diurutkan.

7 priority_queue :: push move versi

Menyisipkan elemen baru dalam urutan yang diurutkan.

8 priority_queue :: size

Mengembalikan jumlah total elemen yang ada di priority_queue.

9 priority_queue :: swap

Menukar konten dari priority_queue dengan konten priority_queue lain.

10 priority_queue :: top

Mengembalikan referensi ke elemen pertama dari priority_queue

Fungsi non-anggota kelebihan beban

Sr.No. Metode & Deskripsi
1 menukar

Menukar konten dari priority_queue dengan konten priority_queue lain.