Think Different ASD: Queue
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
Enqueue
Dequeue
Queuefront
Queuerear
•
•
•
•
Empty queue
Full queue
Queue count
Destroy queue
(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)
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
Enqueue
Dequeue
Queuefront
Queuerear
•
•
•
•
Empty queue
Full queue
Queue count
Destroy queue
(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)