Stack, antrean, dan linked list – pointer langkah demi langkah
InformatikaAlgoritma dan pemecahan masalahUsia 17–18
Memuat…
Masuk untuk memainkanLakukan push dan pop pada stack, enqueue dan dequeue pada antrean linear, melingkar, dan prioritas, serta sisipkan, hapus, dan cari simpul dalam linked list, sambil melihat pointer top, front, rear, dan head serta tautan next berubah baris demi baris dalam Python atau pseudokode, lengkap dengan overflow dan underflow. Bandingkan implementasi larik statis dengan simpul dan pointer dinamis, termasuk pemakaian memori, dan coba aplikasinya: pemeriksaan tanda kurung, undo/redo, antrean cetak, dan tumpukan panggilan.
Pelajaran: Struktur data abstrak: stack, antrean, dan linked list; implementasi dengan larik dan dengan pointer
Yang ditunjukkan
Stack, antrean, dan linked list adalah struktur data abstrak. Stack bersifat terakhir masuk, pertama keluar: push dan pop bekerja di puncak. Antrean bersifat pertama masuk, pertama keluar: elemen masuk di belakang dan keluar di depan; antrean melingkar memakai ulang sel kosong dengan MOD, dan antrean prioritas melayani prioritas tertinggi lebih dulu. Linked list menyimpan setiap nilai dalam simpul yang menunjuk ke simpul berikutnya dan diakhiri pointer null. Larik statis memesan blok memori tetap dan bisa meluap, sedangkan simpul dinamis bisa tumbuh tetapi butuh memori tambahan untuk pointer.
Cara menggunakan
Pilih Stack, Antrean, Linked list, atau Aplikasi dan sebuah Implementasi. Ketik Nilai lalu tekan tombol operasi seperti Push, Enqueue, atau Sisipkan di posisi; kode berjalan baris demi baris pada Kecepatan yang dipilih. Centang Baris demi baris lalu tekan Baris berikutnya untuk berjalan pelan, atau Selesaikan operasi. Amati pointer, panel Memori, dan catatan Operasi.
Parameter yang dapat diubah
- Mode Stack, Antrean, Linked list, Aplikasi
- Implementasi Larik statis, Simpul dan pointer (dinamis)
- Jenis antrean Linear, Melingkar, Prioritas
- Kapasitas larik 3–10 sel
- Aplikasi Cek tanda kurung (stack), Undo / redo (dua stack), Antrean cetak (antrean), Tumpukan panggilan
- Bahasa Python, Pseudokode
- Kecepatan 0,5–5 baris/s
Pertanyaan untuk dijelajahi
- Mengapa antrean linear bisa penuh padahal sel di depan kosong, dan bagaimana antrean melingkar mengatasinya?
- Pointer mana saja yang berubah saat Anda menyisipkan simpul di tengah linked list?
- Berapa byte yang dibutuhkan enam bilangan bulat sebagai larik statis dan sebagai simpul berantai dalam model ini?