Stack adalah suatu daftar atau urutan elemen yang elemennya dapat diambil dan ditambah hanya hanya melalui satu jalur saja, yaitu bagian depan list. Contoh dalam kehidupan sehari-hari adalah tumpukan buku di perpustakaan yang tumpukannya dapat ditambah pada bagian paling atas dan mengambilnya dari bagian paling atas pula.
Ada 2 operasi paling dasar yang penting dari stack yang dapat dilakukan, yaitu :
a. Operasi push yaitu operasi menambahkan elemen data pada urutan terakhir (paling atas).
b. Operasi pop yaitu operasi mengambil sebuah elemen data pada urutan terakhir dari stack.
Tumpukan disebut juga “Push Down Back” yaitu penambahan elemen baru (push) dan penghapusan elemen dari tumpukan (pop) Untuk mengimplementasikan stack, bisa menggunakan linked list atau juga array, tergantung pada permasalahan yang dihadapi. Apabila permasalahan yang dihadapi adalah permasalahan tumpukan (stack) dimana jumlah elemen maksimum dibatasi, maka bisa digunakan array. Apabila jumlah elemen maksimumnya tidak dibatasi, maka linked list lebih tepat digunakan. Salah satu konsep yang efektif untuk menyimpan dan mengambil data adalah “terakhir masuk sebagai yang pertama keluar” (Last in First
Out/LIFO). Dengan konsep ini, pengambilan data akan berkebalikan urutannya dengan penyimpanan data.
oke, ga usah kebanyakan teori, kita langsung ke contoh source code:
stack.h
————————————-begin—————————
#define stack_H
#define stack_H
Continue reading »