Stack merupakan salah satu implementasi dari Linked List. Stack merupakan kumpulan-kumpulan data yang menggunakan konsep LIFO (Last In First Out) atau FILO (First In Last Out), yaitu data yang paling terakhir dimasukan ke dalam stack merupakan data yang pertama kali keluar dari stack.

Berikut operasi yang digunakan di dalam Stack:

  1. Push(x): Menambahkan data x ke dalam stack.
  2. Pop(): Menghapus data paling terkahir dari dalam
  3. Peek() atau Top(): Melihat data paling atas dari stack.

Apabila kalian telah mempelajari Single Linkend List (https://socs.binus.ac.id/2017/03/15/single-linked-list/) atau Doubly Linked List (https://socs.binus.ac.id/2017/03/15/doubly-linked-list/), kalian dapat menerapkan fungsi pushDepan & popDepan untuk mengimlementasikan konsep stack. Representasi stack adalah sebagi berikut:

Sample Input 1: Sample Ouput 1:

Push(5);

Push(10);

Push(12);

Push(3);

Push(30);

30

3

12

10

5

Sample Input 1: Sample Ouput 1:

Push(5);

Push(10);

Pop();

Push(3);

3

5

Stack biasanya digunakan untuk:

  • Mengubah urutan dari data.
  • Mengubah notasi infix menjadi postfix
  • Mengubah notasi postfix menjadi infix
  • Backtracking problem
  • Mengubah angka decimal menjadi bilangan binary.

Referensi:
Reema Thareja. (2014). Data structures using C. 02. OXFOR. New Delhi. ISBN: 9780198099307.