Struktur data stack adalah salah satu jenis struktur data pada komputer yang berfungsi untuk menyimpan dan mengorganisir data dalam urutan tertentu, Stack bekerja berdasarkan prinsip LIFO (Last In First Out), yang artinya data yang terakhir dimasukkan ke dalam stack akan menjadi data yang pertama kali diambil atau dikeluarkan dari stack .
Stack biasanya digunakan dalam implementasi algoritma dan fungsi-fungsi matematis seperti konversi infix ke postfix, evaluasi ekspresi postfix, dan validasi tanda kurung pada ekspresi matematis, Stack juga sering digunakan dalam aplikasi yang membutuhkan manajemen tumpukan data seperti pengembangan sistem operasi, kompilator, dan perangkat lunak grafis .
Struktur data stack dapat diimplementasikan menggunakan array atau linked list 1, Stack yang diimplementasikan menggunakan array memiliki kapasitas yang terbatas, sedangkan stack yang diimplementasikan menggunakan linked list tidak memiliki batasan kapasitas .
Berikut adalah beberapa karakteristik struktur data stack :
Stack memiliki beberapa kelebihan, antara lain :
Namun, stack juga memiliki beberapa kekurangan, antara lain :