You are on page 1of 52

Algoritma dan Struktur Data

Queue
Queue
Apakah queue itu?
• Queue merupakan linear list di mana data
dimasukkan melalui sebuah ujung yang
disebut end/rear dan dihapus dari ujung
lain yang disebut front
• first in – first out (FIFO)
Operasi queue

• Enqueue
• Dequeue
• Queue Front
• Queue Rear
• Queue Example
Enqueue
• Memasukkan data baru ke rear.
Dequeue
• Menghapus data yang ada di front.
Queue front
• Mengembalikan elemen yang ada di front tanpa
menghapusnya
Queue rear
• Mengembalikan elemen yang ada di rear tanpa
menghapusnya
(Continued)
Implementasi queue dengan linked list

• Struktur data queue


• Algorithms
Data structure
pointer
Queue algorithms
• Create queue • Empty queue
• Enqueue • Full queue
• Dequeue • Queue count
• Queuefront • Destroy queue
• Queuerear
(Continued)
Create queue
enqueue
dequeue
ADT Queue

• Struktur Queue
• Algoritma ADT Queue
傳進來的是儲存資料變數的位
址,用區域指標變數來接。
dequeue (queue, (void*)&dataPtr)

傳進來的是儲存指到資料變數的指標
變數的位址,用區域指標變數 ( 一個指
到指標變數的指標變數 ) 來接。
queueFront (queue, (void*)&dataPtr)
queueRear (queue, (void*)&dataPtr)
Contoh penggunaan queue

•Mengkategorikan data
Mengkategorikan data
• Kadang kita butuh menyusun ulang data
tanpa mengubah urutan aslinya.
• Example :
– 3 22 12 6 10 34 65 29 9 30 81 4 5 19 20 57 44 99
– We want the list rearranged as shown below.
• Less than 10 : 36945
• Between 10 and 19 : 12 10 19
• Between 20 and 29 : 22 29 20
• 30 and greater : 34 65 30 81 57 44 99
Desain
• Queue category
• Mengisi kategori queue
(Continued)
(Continued)
(Continued)

You might also like