Assalamualaikum sob, pada postingan kali ini saya akan membahas bagaimana cara membuat program C++ dengan menggunakan metode Circular Queue. Untuk kamu yang udah belajar Linear Queue, mungkin ini akan sedikit sama, hanya saja ada beberapa bagian yang berbeda untuk mengembalikan antrian / queue ke posisi semula..
Berikut Source code nya
#include<iostream>
#include<cstdlib>
#include<conio.h>
#define n 3
void INSERT(void);
void DELETE(void);
void CETAKLAYAR(void);
void inisialisasi(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 ANIMASI 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<<"_____________________________________________________________________"<<endl;
cout<<endl;
cout<<" SILAHKAN MASUKKAN PILIHAN : ";cin>>PILIHAN;
PIL=atoi(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;
}
Hasil program setelah di compile kurang lebih seperti ini...
1. Antrian A masuk |
2. Antrian B masuk |
3. Antrian C masuk |
4. Cetak antrian A, B, C |
5. Hapus antrian pertama (A) |
6. Cetak sisa antrian |
7. Masukkan antrian baru |
8. Cetakan antrian akhir |
Semoga bermanfaat. . .