ANTRIAN

FIFO antrian
antrian adalah jenis adapter kontainer, khusus dirancang untuk beroperasi dalam konteks FIFO (first-in first-out), dimana unsur-unsur dimasukkan ke salah satu ujung wadah dan diekstrak dari yang lain.

antrian diimplementasikan sebagai adapter kontainer, yaitu kelas yang menggunakan objek kapsulasi kelas khusus sebagai wadah yang mendasarinya, memberikan satu set spesifik fungsi anggota untuk mengaksesnya elemen. Unsur didorong ke dalam “kembali” dari wadah tertentu dan muncul dari “depan” nya.
dalam c++ , antrian dapat diimplementasikan dengan dua cara . Pertama menggunakan Array dan yang kedua adalah link list. kebanyakan temen – temen pasti lebih sering menggunakan Array. karna memang lebih mudah dalam algoritmanya.tapi Array bersifat terbatas dan tidak bisa mengalokasikan alamat seperti linked list.

jenis queue :
1.queue
2.priority queue
3.circlar queue

Berikut ini fungsi-fungsi yang berada dalam kelas antrian.
diantaranya adalah :

1.(constructor)    Construct queue
2.empty
3.size    Return size
4.front
5.last
6.enqueue Insert element
7.dequeue Delete next element

1.) constructor queue
Membangun sebuah wadah antrian objek adaptor.
Sebuah adaptor wadah menyimpan objek kontainer sebagai data. Objek wadah adalah salinan dari argumen yang dilewatkan ke konstruktor, jika ada, kalau tidak ini merupakan sebuah wadah kosong.

2.)full
menguji apakah antrian atau wadah queue telah penuh atau tidak. jika penuh maka antrian tidak dapat ditambah

3.)fungsi empety
Menguji apakah wadah kosong
Mengembalikan apakah antrian kosong, yaitu apakah ukurannya adalah 0.

4.)front()
setiap antrian mesty terdapat element tertua, atau elemen yang paling depan(front),
front atau depan pada Array yaitu adalah element ke-n, dan yang paling ujung atau belakang adalah element ke-0
misal kita mempunyai sebuah array A[] dengan jumlah element sebanyak n. maka element front atau yang paling depan adalah element A[n-1]

5.) enqueue()
operasi push dalam queue yaitu adalah operasi memasukan element dalam antrian. atau yang lebih dikenal dengan enqueue;
contohnya dalam linked list :

now=new node;
if(head==NULL)
{
now->kar=ch;
now->next=NULL;
tail=now;
head=now;

}
else
{
now->kar=ch;
now->next=NULL;
tail->next = now;
tail=now;
}

sedangkan dalam array adalah :

if(penuh(banyak)) cout<<“Queue penuh”;
else if(A[0]==’0′){
A[0]=x;
banyak++;}
else {
for (int i=banyak;i>=0;i–)
A[i+1]=A[i];
A[0]=x;
banyak++;}}

6.) dequeue()
merupakan kebalikan dari enqueue, dequeue adalah operasi untuk mengeluarkan karakter dari suatu antrian. yang dikeluarkan adalah element terdepan atau front.
berikut ini operasi dalam link list
node *temp;
temp=head;
head=head->next;
delete temp;

1.Bagamaina dengan priority queue?? priority queue adalah sebuah antrian dimana suatu element yang mempunyai bobot lebih tinggi akan menempati element didepan element yang mempunyai bobot lebih rendah.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s