Algoritma dan Struktur Data Pertemuan 13 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 : 3 6 9 4 5 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)