Rabu, 19 Juni 2013

Queue dengan Array

Queue adalah sebuah antrian yang menggunakan prinsip FIFO (First In First Out) dimana data yang pertama masuk dalam antrian tersebut adalah data yang pertama kali keluar dari antrian .
mis : 

Ada sebuah antrian sebagai berikut:

  • data masuk pertama: 1
  • data masuk kedua : 2
  • data masuk ketiga : 3
  • data masuk keempat : 4
  • data masuk kelima : 5
maka data yang perama kali keluar dari antrian adalah 1 karena masuk pertama.

Operasi yang terdapat dalam Queue adalah :
  1. Enqueue : Memasukkan data dalam antrian
  2. Dequeue : Menghapus data yang pertama masuk dalam antrian
  3. Tampil : Menyetak semua data yang masuk dalam antrian
  4. Clear : Menhapus semua data yang masuk dalam antrian.
  5. Cek : IsEmpty dan IsFull (Mengecek isi antrian apakah penuh atau masih kosong)
Lebih mudahnya bisa di pelajari dalam implementasi coding saya di bawah ini
_______________________________________________________________

#include<iostream>
#include<conio.h>
using namespace std;

int item=0, data[5], x, head;

void enqueue(){ //fungsi enqueue
if(item==5)
cout<<"\nAntrian Penuh\n\n";
else
{
cout<<"\nMasukkan nilai--> ";cin>>x;
data[item]=x;
item++;
}
}

void dequeue(){ //fungsi dequeue
if(item==0)
cout<<"\nAntrian kosong !!!\n\n";
else {
head=data[0];
for(int i=0; i<item; i++)
data[i]=data[i+1];
data[item-1]=0;
item--;
cout<<"\nData dgn nilai terhapus : "<<head;
}
}

void tampil(){
if(item==0)
cout<<"\nAntrian Kosong !!!\n\n";
else
{
cout<<"\n\nData yang masuk : \n\n";
for(int j=0; j<item; j++)
cout<<"\n-> "<<data[j]<<endl;
}
}

void clear(){
 item=0;
 cout<<"\nSudah terhapus !!!!\n\n";
 }
void cek (){ //fungs mengecek list
if (item < 5){
cout<<"\nmasih ada kosong !!";
}
else if (item == 5){
cout<<"\nAntrian penuh !!";
}
}

main(){
int pil;
do {
system("cls");
cout<<"\t\t|===============================|";
cout<<"\n\t\t|---======---pugcrut---======---|";
cout<<"\n\t\t|_______________________________|";
cout<<"\n\n\n\t\t\tQueue dengan Array\n";
cout<<"\t\t___________________________________\n\n";

cout<<"\n\t1. Enqueue\n";
cout<<"\t2. Dequeue\n";
cout<<"\t3. Lihat Antrian\n";
cout<<"\t4. Hapus Antrian\n";
cout<<"\t5. Cek\n";
cout<<"\t6. Keluar\n";
cout<<"\n--------------------------------> ";pil=getche();
if(pil=='1'){
enqueue ();
}
if(pil=='2'){
dequeue (); getch();
}
if(pil=='3'){
tampil (); getch();
}
if(pil=='4'){
clear (); getch();
}
if(pil=='5'){
cek (); getch();
}
}
while(pil!='6');
}






0 komentar:

Posting Komentar