algoritma dan struktur data -...

Post on 22-Mar-2019

388 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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 : 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)

EXIT IN

Problem

Program simulasi ini didasarkan pada persoalan berikut. Ada suatu tempat parkir yang hanya bisa

memuat mobil dalam satu baris, jumlah mobil yang bisa masuk untuk nomor ini bisa dibatasi. Mobil

masuk lewat pintu Utara (belakang) dan keluar lewat pintu Selatan (depan). Jika mobil yang berada paling

depan (di sisi paling Selatan) akan keluar maka mobil tersebut segera bisa keluar. Tetapi jika mobil yang

akan keluar adalah mobil yang di tengah, maka mobil yang terletak di depannya (di sebelah Selatan)

harus dikeluarkan sementara. Setelah mobil yang dimaksud keluar, maka mobil yang dikeluarkan

sementara tadi dimasukkan kembali ke tempat parkir dengan susunan seperti semula. Sehingga mobil

yang semula berada paling depan tetap berada pada posisinya semula. Mobil-mobil yang terletak di

sebelah Utaranya mobil yang keluar tadi digeser maju ke depan, sehingga bagian kosong selalu berada

pada pintu Utara (belakang). Dengan memperhatikan persoalan di atas, sebenarnya simulasi ini selain

berisi antrian juga berisi tumpukan, yakni pada saat sebuah mobil yang berada di 37 tengah akan

dikeluarkan, maka semua mobil yang ada di sebelah Selatannya ditumpuk (di-push) di tempat

penampungan sementara. Baru setelah mobil yang dimaksud keluar, maka semua mobil yang berada di

tempat penampungan sementara dipop kembali. Dengan cara ini semua mobil akan mempunyai posisi

yang sama seperti sebelum suatu mobil dikeluarkan dari tempat parkir.

program simulasi tempat parkir.

top related