QUEUE / ANTRIAN

Selasa, 26 Oktober 2010

  
Queue Dengan Array

  •   Bersifat FIFO (First In First Out)
  •   Elemen yang pertama masuk ke antrian akan keluar pertama kalinya
  •   DEQUEUE adalah mengeluarkan satu elemen dari suatu Antrian
  •   Antrian dapat dibuat dengan menggunakan: Liniear Array dan Circular Array
  •   Terdapat satu buah pintu masuk di suatu ujung dan satu buah pintu keluar di ujung satunya.Sehingga membutuhkan 2 variabel: Head dan Tail



Contoh :
  •   Penjualan karcis kereta, bioskop
  •   Penjadualan pencetakan (spooling system)
  •   Penjadualan pemakaian CPU
  •   Pemakaian I/O pada sistem komputer
  •   Penyimpan barang di Apotek


Contoh program queue

#include "queue01.h"
#include <iostream.h>
int array [QUEUE_SIZE];
int awal=-1;
int akhir=-1;
int is_empty(){
if ((awal==-1)&&(akhir==-1))
return 1;
else
return 0;
}int is_full(){
if(akhir==QUEUE_SIZE-1)
return 1;
else
return 0;
}void enqueue_item(int item){
if(!is_full()){
if(awal==-1){
awal++;
akhir++;
}else
akhir++;
array[akhir]=item;
}else
cout<<"full";
}char dequeue_item(void){
if(!is_empty()){
awal++;
cout<<"\n first out"<<endl;
}else
cout<<"empty";
}
void print_item(){
if(!is_empty()){
for(int i =awal;i<=akhir;i++)
cout<<array[i];
}else
cout<<"empty";
}int main(){
int item;
cout<<"BAB I, queue."<<endl;
int pilih;
do{
cout<<"\nmenu"<<endl;
cout<<"1.add queue"<<endl;
cout<<"2.delete queue"<<endl;
cout<<"3.print"<<endl;
cout<<"4.exit"<<endl;
cin>>pilih;
switch (pilih){
case 1:
cout<<"insert
new
data=";
cin>>item;enqueue_item(item); break;
case 2:
dequeue_item(); break;
case 3:
cout<<"\nQueue
contains"<<endl;
print_item();
break;
case 4: system("cls"); cout<<"\tBye";
}
}while(pilih<=3);
return 0;
}

Tidak ada komentar:

Posting Komentar