06_queue (1)

19
Queue Priority Queue STRUKTUR DATA JULIO ADISANTOSO Departemen Ilmu Komputer IPB Pertemuan 6 : 7 Juli 2015 JULIO ADISANTOSO Departemen Ilmu Komputer IPB STRUKTUR DATA

Upload: muhammad-faiz

Post on 18-Aug-2015

216 views

Category:

Documents


4 download

TRANSCRIPT

QueuePriority QueueSTRUKTUR DATAJULIO ADISANTOSODepartemen Ilmu Komputer IPBPertemuan 6 : 7 Juli 2015JULIO ADISANTOSO Departemen Ilmu Komputer IPB STRUKTUR DATAQueuePriority QueuePengertianImplementasiQ U E U EJULIO ADISANTOSO Departemen Ilmu Komputer IPB STRUKTUR DATAQueuePriority QueuePengertianImplementasiQueueBeberapa pengertian Queue pada Struktur Data:antrian dari objekderetan objek dimana penambahan hanya bisa dilakukan padasuatu ujung (disebut sisi belakang atau rear), dan penghapusandilakukan lewat ujung yang lain (disebut dengan sisi depan ataufront).JULIO ADISANTOSO Departemen Ilmu Komputer IPB STRUKTUR DATAQueuePriority QueuePengertianImplementasiSifat QueueFIFO : First In First OutObjek yang pertama masuk ke dalam Queue akan menjadi yangpertama keluar dari QueueBeberapa contoh penggunaan Queue:Print spoolerBeberapa algoritme Search, misal BFSJULIO ADISANTOSO Departemen Ilmu Komputer IPB STRUKTUR DATAQueuePriority QueuePengertianImplementasiOperasi dasar Queue Spesikasi PRIMITIFpush(objek) : memasukkan objek ke dalam Queuepop() : menghapus objek dari Queuefront() : akses objek frontback() : akses objek rearempty() : memeriksa Queue kosongsize() : ukuran Queuefull() : memeriksa Queue penuh (in array)JULIO ADISANTOSO Departemen Ilmu Komputer IPB STRUKTUR DATAQueuePriority QueuePengertianImplementasiImplementasi QueueQueue dapat diimplementasikan dengan menggunakan tipe dataapa pun, asalkan memenuhi sifat dan kaidah Queue, yaitu FIFO.Contoh implementasi:ArrayLinked ListTiap implementasi memiliki plus dan minus. Apa saja?JULIO ADISANTOSO Departemen Ilmu Komputer IPB STRUKTUR DATAQueuePriority QueuePengertianImplementasiQueue Menggunakan DLL (p06a.cpp)typedef struct node {int value;struct node*prev,*next;} NODE;class Queue {NODE*Front,*Rear;public:Queue() { Front=NULL; Rear=NULL; }bool empty() { return (Front==NULL); }void push(int nilai);int front();int back();void pop();};JULIO ADISANTOSO Departemen Ilmu Komputer IPB STRUKTUR DATAQueuePriority QueuePengertianImplementasiQueue Menggunakan DLLContoh Driverint main() {Queue antrian;antrian.push(10); antrian.push(20);antrian.push(15); antrian.push(7);cout