Penggunaan Array pada C++
Tugas Pertemuan ke-5
Di bawah ini adalah dokumentasi code-code yang menggunakan logika Stack (Stack Array dan Stack Linked List) dan terdapat penjelasan singkat mengenai code yang sudah dituliskan.
1. PROGRAM IMPLEMENTASI STACK (TUMPUKAN) DENGAN ARRAY
Program ini mengimplementasikan struktur data Stack menggunakan prinsip LIFO (Last In First Out). Data dikelola melalui operasi push dan pop yang memanipulasi posisi index top.
Output:
10 ditambahkan ke stack 20 ditambahkan ke stack 30 ditambahkan ke stack Elemen teratas: 30 40 ditambahkan ke stack 50 ditambahkan ke stack Stack Overflow 50 dihapus dari stack Elemen teratas: 40
Program ini mendemonstrasikan bagaimana elemen disimpan dalam tumpukan dengan batasan kapasitas MAX 5. Fungsi push() menyisipkan data ke posisi teratas, sedangkan pop() menghapus data yang paling terakhir dimasukkan. Operasi peek() digunakan untuk melihat nilai pada index top saat ini tanpa mengubah struktur stack. Jika stack penuh dan dilakukan push, sistem akan menampilkan pesan Stack Overflow.
2. PROGRAM IMPLEMENTASI STACK DENGAN LINKED LIST
Berbeda dengan array yang memiliki batas statis, implementasi Stack menggunakan Linked List memungkinkan alokasi memori secara dinamis, sehingga tumpukan dapat bertambah selama memori sistem masih tersedia.
Output:
10 ditambahkan ke stack 20 ditambahkan ke stack 30 ditambahkan ke stack Elemen teratas: 30 30 dihapus dari stack Elemen teratas: 20
Program ini menggunakan struct Node untuk menyimpan data dan pointer ke node berikutnya. Pada metode push(), sebuah node baru dibuat di memori (heap) dan diletakkan di posisi paling depan (top). Pada metode pop(), alamat node teratas dipindahkan ke pointer sementara, top digeser ke elemen di bawahnya, kemudian memori node yang dihapus dibebaskan menggunakan perintah delete untuk mencegah kebocoran memori (memory leak).
Comments
Post a Comment