Circular Queue
Queue [kjuː] Queue = Antrian Mengikuti aturan FIFO (First In – First Out) Operasi-operasi: Enqueue: Memasukkan 1 elemen dalam antrian Dequeue: Mengeluarkan 1 elemen dari antrian cinemark
Implementasi Linear Implementasi dengan Array Ukuran (ruang antrian) tetap. Perlu memelihara catatan posisi terdepan (front) dan posisi belakang (rear) Model Implementasi: Tanpa Penggeseran elemen Ketika elemen dikeluarkan dari antrian, ruang antrian didepan menjadi kosong dan tidak dipergunakan lagi. Perlu sekali waktu dikosongkan. Dengan Penggeseran elemen Setiap kali elemen dikeluarkan dari antrian, seluruh elemen dibelakangnya di geser ke depan time consuming !!
Circular Array
Queue dalam Circular Array
Circular Indexing Logika if .. then.. if i = MaxQueue -1 then i := 0 else i := i + 1; Operator Mod i := (i + 1) mod MaxQueue
Boundary Conditions Queue kosong dan penuh
Circular Queue dalam Delphi Index: -1 .. MaxQueue Deklarasi Queue const Maxqueue = ... ; type item = ... ; Tqueue = record count: 0..MaxQueue; front : 0..MaxQueue-1; rear : -1.. Maxqueue-1; entry : array[0..MaxQueue -1] of item; end;