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 :
- Enqueue : Memasukkan data dalam antrian
- Dequeue : Menghapus data yang pertama masuk dalam antrian
- Tampil : Menyetak semua data yang masuk dalam antrian
- Clear : Menhapus semua data yang masuk dalam antrian.
- 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');
}
Update Contact :
No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email : Fajarudinsidik@gmail.com
No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email: Fajarudinsidik@gmail.com
atau Kirimkan Private messanger melalui email dengan klik tombol order dibawah ini :