Perpustakaan C ++ - <stack>

pengantar

Stack adalah struktur data yang dirancang untuk beroperasi dalam konteks LIFO (Last in First out). Dalam elemen tumpukan disisipkan serta dihapus hanya dari satu ujung.

Kelas tumpukan adalah adaptor kontainer. Container adalah sebuah objek yang menyimpan data dengan tipe yang sama. Tumpukan dapat dibuat dari kontainer urutan yang berbeda. Jika container tidak disediakan, ia menggunakan container deque default . 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 :: stack dari file header <stack>

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

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 &

Fungsi dari <stack>

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

Konstruktor

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

Membangun objek tumpukan kosong, dengan elemen nol.

2 stack :: konstruktor salinan tumpukan

Membuat tumpukan dengan salinan setiap elemen yang ada di tumpukan lain.

3 stack :: konstruktor bergerak tumpukan

Membuat tumpukan dengan konten lain menggunakan semantik bergerak.

Penghancur

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

Menghancurkan tumpukan dengan membatalkan alokasi memori kontainer.

Fungsi anggota

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

Membuat dan menyisipkan elemen baru di bagian atas tumpukan.

2 tumpukan :: kosong

Menguji apakah tumpukan kosong atau tidak.

3 stack :: operator = salin versi

Menetapkan konten baru ke tumpukan dengan mengganti yang lama.

4 stack :: operator = memindahkan versi

Menetapkan konten baru ke tumpukan dengan mengganti yang lama.

5 tumpukan :: pop

Menghapus elemen teratas dari tumpukan.

6 stack :: dorong versi salin

Menyisipkan elemen baru di bagian atas tumpukan.

7 stack :: dorong versi bergerak

Menyisipkan elemen baru di bagian atas tumpukan.

8 tumpukan :: ukuran

Mengembalikan jumlah total elemen yang ada di tumpukan.

9 stack :: swap

Menukar konten tumpukan dengan konten tumpukan lain.

10 tumpukan :: atas

Mengembalikan referensi ke elemen paling atas dari tumpukan.

Fungsi non-anggota kelebihan beban

Sr.No. Metode & Deskripsi
1 operator ==

Menguji apakah dua tumpukan sama atau tidak.

2 operator! =

Menguji apakah dua tumpukan sama atau tidak.

3 operator <

Menguji apakah tumpukan pertama kurang dari yang lain atau tidak.

4 operator <=

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

5 operator>

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

6 operator> =

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

7 menukar

Bertukar isi dari dua tumpukan.