1. Stack: Last-In, First-Out (LIFO)
Stack (tumpukan) dianalogikan seperti tumpukan piring di restoran: piring terakhir yang diletakkan di atas tumpukan adalah piring pertama yang akan diambil. Struktur ini memiliki 2 operasi utama: `push` (menumpuk) dan `pop` (mengambil item teratas).
2. Queue: First-In, First-Out (FIFO)
Queue (antrian) dianalogikan seperti antrian loket tiket bioskop: orang yang pertama datang mengantri adalah orang yang pertama dilayani. Operasi utamanya adalah `enqueue` (masuk di belakang antrian) dan `dequeue` (keluar dari depan antrian).
| 1 | const stackUndo = []; |
| 2 | |
| 3 | // Menumpuk aksi |
| 4 | stackUndo.push("Ketik huruf A"); |
| 5 | stackUndo.push("Ketik huruf B"); |
| 6 | stackUndo.push("Hapus kata"); |
| 7 | |
| 8 | // Undo: Ambil aksi terakhir |
| 9 | const aksiDibatalkan = stackUndo.pop(); // "Hapus kata" |
| 10 | console.log("Dibatalkan:", aksiDibatalkan); |
Jika data 'A', lalu 'B', lalu 'C' dimasukkan berturut-turut ke dalam sebuah Queue (FIFO), urutan keluarnya data adalah: