Section Artikel
Stack merupakan suatu order list yang dalam pemrosesannya pengambilan dan penambahan elemen hanya dilakukan pada satu ujung.
Jika queue menggunakan prinsip FIFO (First In Firs Out) beda halnya dengan stack, stack menggunakan prinsip LIFO (Last In Fist Out) dimana elemen atau data yang terakhir disisipkan menjadi elemen yang paling dulu diambil, stack juga disebut pushdown list.
Untuk lebih mudahnya umpamakan kita menumpuk suatu buku, buku yang terakhir di tumpuk akan menjadi buku pertama untuk diambil karena berada dibagian paling atas tumpukan, untuk memindahkan sebuah elemen dari tempat atas tersebut dalam sebuah stack, maka dilakukan operasi pop seperti pada gambar dibawah ini.
public class StackArr implements Stack { T value[] ; int topOfStack ; public boolean isEmpty(){…} public T pop(){…} public void push(T item){…} public T peek(){…} public int size() {…} }
Linked List merupakan sekumpulan elemen atau data dengan tipe yang sama, mempunyai keterurutan tertentu, yang setiap elemennya terdiri dari dua bagian.
Selain dapat diimplemtasikan dengan array, stack juga dapat diimplementasikan dengan single linked list dimana dengan menggunakan linked list dapat menghemat dalam pengalokasian memori yang dinamis.
ARRAY | LINKED LIST |
Array bersifat Statis, jumlah memori yang telah dipesan tidak dapat diubah lagi | Linked list bersifat Dinamis, jumlah memori dapat diubah |
Penambahan / penghapusan data terbatas | Penambahan / penghapusan data tidak terbatas |
Random access | Sequential access |
Array tidak dapat dihapus | Linked list dapat dihapus dengann mudah |