Definisi stack
Stack merupakan suatu tumpukan dari benda dengan konsep utamanya adalah LIFO (Last In Fist Out). Benda yang masuk terakhir dalam stack akan menjadi benda pertama yang di keluarkan dari stack. Ilustrasinya bisa di liat di bawah :
Pada gambar diatas, jika kita ingin mengambil sesuatu dari tumpukan maka kita harus mengambilnya dari tumpukan yang paling atas dahulu. Misalkan jika kita mengambil yang A terlebih dahulu maka yang B akan jatuh. Dalam program c++ ada 2 cara penerapan prinsip stack ini yakni dengan array dan linked list . operasi-operasi dalam stack :
1. Push : untuk menambahkan item pada tumpukan paling atas
2. Pop : untuk mengambil item paling atas
3. Clear : untuk mengosongkan stack
4. IsEmpty : fungsi yang digunakan untuk mengecek apakah stack sudah kosong
5. IsFull : fungsi yang digunakan untuk mengecek apakah stack sudah penuh
Stack Dengan Array of Struct
1. Definisikan Stack dengan menggunakan suatu struct
2. Definisikan konstanta MAX_STACK untuk menyimpan maksimum isi stack
3. Elemen struct Stack adalah array data dan top untuk menadakan posisi data teratas
4. Buatlah variabel tumpuk sebagai implementasi dari struct Stack
5. Deklarasikan operasi-operasi/function di atas dan buat implemetasinya
Contoh stack dengan array
Contoh deklarasi MAX_STACK
#define MAX_STACK 10
Contoh deklarasi STACK dengan struct dan array data
typedef struct STACK{
int top;
int data[10];
};
Deklarasi/buat variabel dari struct
STACK tumpuk;
Sumber
Ebook asiknya belajar struktur data di planet C++ Dwi Sanjaya




