Antri Yuk! Belajar Queue dalam Pemrograman dengan Gaya Santai
Karateristik queue
1. Elemen antrian
Item item data yang terdapat di elemen antrian.
2. Rear
Elemen terakhir dari antrian.
3. Front
Elemen terdepan antrian.
4. Count dan status antrian
Count yaitu jumlah elemen pada antrian.
Operasi dalam queue
1. Create ( )
- Untuk menciptakan dan menginisialisasi Queue.
- Dengan cara membuat head dan tail= -1.
2. IsEmpty ( )
-Untuk memeriksa apakah antrian sudah penuh atau belum.
-Dengan cara memeriksa nilai tail jika tail = -1 maka empty.
3. IsFull ( )
- Untuk mengecek apakah antrian sudah penuh belum.
- Dengan cara mengecek nilai tail, jika tail == MAX-1 (karena MAX-1 adalah batas elemen array) berarti sudah penuh.
4. Enqueue
- Untuk menambahkan elemen ke dalam antrian, penambahan elemen selalu di elemen paling belakang.
- Penambahan elemen selalu menggerakkan variabel tail dengan cara menaikkan nilai counter tail.
5. Dequeue ( )
- Digunakan untuk menghapus elemen terdepan/pertama dari antrian.
- Dengan cara mengurangi counter tail dan menggeser semua antrian ke depan.
- Penggeseran dilakukan dengan menggunakan looping.
6. Clear ( )
- Fungsi ini digunakan untuk mengosongkan seluruh elemen dalam queue.
- Setelah pemanggilan fungsi ini, queue akan dianggap kosong dengan mengatur kembali indeks head dan tail ke -1.
7. Tampil ( )
- Fungsi ini digunakan untuk menampilkan semua elemen yang ada dalam queue.
- Jika queue kosong, akan menampilkan pesan bahwa queue kosong.
- Jika tidak kosong, akan mencetak semua elemen dari indeks head sampai tail.
Priority queue
Dalam kehidupan sehari-hari, analogi ini bisa dilihat dalam berbagai situasi, seperti pelayanan kesehatan di mana pasien dengan kondisi darurat atau kritis diberi prioritas untuk segera mendapatkan perawatan, atau dalam sistem layanan pelanggan di mana pelanggan dengan status premium atau masalah mendesak mungkin akan didahulukan untuk dilayani lebih cepat.
Jadi, operasi add_priority tidak hanya menyederhanakan proses antrian tetapi juga memastikan efisiensi dalam menangani situasi-situasi di mana prioritas yang berbeda-beda perlu dipertimbangkan.
0 Komentar