Jumat, 26 Februari 2010

Operasi Stack

Stack adalah Suatu susunan koleksi data dimana data dapat ditambahkan dan dihapus selalu dilakukan pada bagian akhir data, yang disebut dengan top of stack
Stack bersifat LIFO (Last In First Out)
“Benda yang terakhir masuk ke dalam stack akan menjadi yang pertama keluar dari stack"

OPerasi stack :
Push : digunakan untuk menambah item pada stack pada tumpukan paling atas
Pop : digunakan untuk mengambil item pada stack pada tumpukan paling atas
Clear : digunakan untuk mengosongkan stack
IsEmpty : fungsi yang digunakan untuk mengecek apakah stack sudah kosong
IsFull : fungsi yang digunakan untuk mengecek apakah stack sudah penuh

contoh program stack

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;

Fungsi IsFull
Untuk memeriksa apakah stack sudah penuh?
Dengan cara memeriksa top of stack, jika sudah sama dengan MAX_STACK-1 maka full, jika belum (masih lebih kecil dari MAX_STACK-1) maka belum full

Fungsi IsEmpty
Untuk memeriksa apakah data Stack masih kosong?
Dengan cara memeriksa top of stack, jika masih -1 maka berarti data Stack masih kosong!

Fungsi Push
Untuk memasukkan elemen ke data Stack. Data yang diinputkan selalu menjadi elemen teratas Stack (yang ditunjuk oleh ToS)
Jika data belum penuh,
Tambah satu (increment) nilai top of stack lebih dahulu setiap kali ada penambahan ke dalam array data Stack.
Isikan data baru ke stack berdasarkan indeks top of stack yang telah di-increment sebelumnya.
Jika tidak, outputkan “Penuh

Tidak ada komentar:

Posting Komentar