Queue (antrian) adalah struktur data dimana
data yang pertama kali dimasukkan adalah data yang pertama kali bisa
dihapus. Atau bisa juga disebut dengan struktur data yang menggunakan
mekanisme FIFO (First In First Out).
Queue dalam kehidupan sehari-hari seperti antrian pada penjualan tiket
kereta api, dimana orang yang pertama datang adalah orang yang pertama
kali dilayani untuk membeli tiket. Jika ada orang baru yang datang akan
membeli tiket, maka posisinya berada pada urutan paling belakang dalam
antrian tersebut. Orang yang berada pada
posisi terakhir dalam antrian adalah yang terakhir kali dapat dilayani
dan memperoleh tiket kereta api dan nasabah yang antri di teller bank.
Berikut adalah contoh program queue:
#include<iostream>
#include<cstdlib>
#include<conio.h>
#define n 3
void INSERT(void);
void DELETE(void);
void CETAKLAYAR(void);
void iisialisasi(void);
int PIL,F,R,COUNTER;
char PILIHAN[1],HURUF;
char Q[n];
using namespace std;
int main()
{
inisialisasi();
do
{
cout<<" CIRCULAR QUEUE "<<endl;
cout<<"________________________________________________________________"<<endl;
cout<<" PROGRAM CIRCULAR QUEUE "<<endl;
cout<<"========================================================="<<endl;
cout<<" 1.INSERT "<<endl;
cout<<" 2.DELETE "<<endl;
cout<<" 3.CETAK ANTRIAN "<<endl;
cout<<" 4.KELUAR "<<endl;
cout<<" * CATATAN : BATAS INPUT = 3 HURUF "<<endl;
cout<<"_________________________________________________________________"<<end
cout<<" SILAHKAN MASUKKAN PILIHAN : ";cin>>PILIHAN;
PIL=(PILIHAN);
switch(PIL)
{
case 1:
INSERT();
break;
case 2:
DELETE();
break;
case 3:
CETAKLAYAR();
break;
default :
cout<<"TERIMA KASIH"<<endl;
break;
}
cout<<"Press any key to continue"<<endl;
getch();
system("cls");
}
while (PIL<4);
return 0;
}
void INSERT(void)
{
if(COUNTER<n)
{
cout<<endl<<"Masukkan 1 huruf : ";
cin>>HURUF;
R = (R + 1) % n;
Q[R] = HURUF;
COUNTER++;
}
else
cout<<"Antrian Penuh!"<<endl;
}
void CETAKLAYAR(void)
{
if(COUNTER>0)
{
for(int k = 0; k < COUNTER; k++)
{
int i = (F+k) % n;
cout << "Q["<<k<<"]="<<Q[i] << endl;
}
}
else
cout<<"Queue kosong!"<<endl;
}
void DELETE(void)
{
if(COUNTER>0)
{
HURUF=Q[F];
F = (F + 1) %n;
COUNTER--;
cout<<"Data yang di ambil :"<<HURUF<<endl;
}
else
cout<<"Antrian Kosong!"<<endl;
}
void inisialisasi(void)
{
F=0;
R=-1;
COUNTER=0;
return 0;
}
http://uts-sumbawa.ac.id/
http://widiartaimade.blogspot.com/

0 komentar:
Posting Komentar