stack
TRANSCRIPT
STACK (TUMPUKAN)
DEFINISI STACK(TUMPUKAN)Stack (tumpukan) adalah sebagai tumpukan
daribenda, sekumpulan data yang seolah-olah di letakkan di atas data yang lain, koleksi dari objek-objek homongen, atau suatu elemen yang urutan elemenya dapat diambil dan ditambah hanya pada posisi akhir (top) saja.
ILUSTRASI Terdapat dua buah kotak yang ditumpuk, kotak yang ditumpuk, kotak yang satu akan ditumpuk di atas kotak yang lainnya. Jika kemudian stack 2 kotak tadi, di tambah kotak ketiga, keempat, kelima, dan seterusnya, maka akan di peroleh sebuah stack kotak yang terdiri dari N kotak stack bersifat LIFO (Last In First Out) artinya benda yang terakhir masuk ke dalam stack akan menjadi pertama keluar dari stack.
KELEBIHAN DAN KEKURANGAN STACKKELEBIHAN
penambahan dan penghapusan data dapat dilakukan dengan cepat, yaitu O (1), selama memori masih tersedia , penambahan data bisa terusdilakukan. Dengan demikian tidak ada kekawatiran terjadinya stack overflow.
KEKURANGANsetiap sel tidak hanya menyimpann value saja, melainkan juga pointer ke sel berikutnya. Yang menyebabkan implementasi stack memakai linked list akan memerlukan memori banyak, dan hanya di akses linked list hanya bisa di aksesdengan cara sekuensial, sehingga lambat O(n).
OPERASI PADA STACK 1. Operasi Push (Menyisipkan Data)
Memasukkan data ke dalam stack2. Operasi Pop (menghapus data)
Menghapus elemen yang terletak pada posisi paling atas dari sebuah stack.
Deklarasi Contoh://DeklarasiMAX_STACK
#defineMAX_STACK10 //Deklarasi STACKDengan struck dan arrayData
typedef struckSTACK{Int top;Char data [10][10];};//Deklarasi/buatVariabel dari struck
STACK tumpuk;
PROGRAM LISTING
Sambungan listing
PROGRAM OUTPUT