program queue c++
QUEUE(Antrian)
Queue(Antrian) adalah suatu kumpulan data yang mana
penambahan data/elemen hanya dapat dilakukan pada sisi belakang sedangkan
penghapusan/pengeluaran elemen dilakukan pada sisi depan. Jenis struktur data
antrian sering digunakan untuk menstimulasikan keadaan dunia nyata. Berbeda dengan
stack, prinsip yang digunakan dalam antrian dalah FIFO (First In First Out). Dengan
kata lain, urutan keluar elemen akan sama dengan urutan masukannya.
Berikut source code program queue c++:
#include<stdio.h>
#include<iostream>
#include<conio.h>
#define MAX 10
using namespace std;
typedef struct {
int data[MAX];
int head;
int tail;
}Queue;
Queue antrian;
void Create(){
antrian.head=antrian.tail=-1;
}
int IsEmpty(){
if(antrian.tail==-1)
return 1;
else
return 0;
}
int IsFull(){
if(antrian.tail==MAX-1)
return 1;
else
return 0;
}
void Enqueue(int data){
if(IsEmpty()==1) {
antrian.head=antrian.tail=0;
antrian.data[antrian.tail]=data;
cout<<"Data
"<<antrian.data[antrian.tail]<<"sudah
masuk"<<endl;
} else
if(IsFull()==0) {
antrian.tail++;
antrian.data[antrian.tail]=data;
cout<<"Data
"<<antrian.data[antrian.tail]<<"sudah
masuk"<<endl;
}
}
int Dequeue(){
int i;
int e=antrian.data[antrian.head];
if(antrian.tail==-1) {
cout<<"Antrian kosong"<<endl;
} else {
for(i=antrian.head;i<=antrian.tail-1;i++) {
antrian.data[i]=antrian.data[i+1];
}
antrian.tail--;
cout<<"data yang
keluar="<<e<<endl;
return e;
}
}
void Clear() {
antrian.head=antrian.tail=-1;
cout<<"CLEAR"<<endl;
}
void Tampil() {
if(IsEmpty()==0) {
for(int
i=antrian.head;i<=antrian.tail;i++){
cout<<"|
"<<antrian.data[i]<<" |";
}
} else cout<<"Antrian kosong"<<endl;
}
int main(){
int pil;
int data;
Create();
do{
cout<<endl<<endl;
cout<<"***********PROGRAM
QUEUE************"<<endl;
cout<<"1. ENQUEUE"<<endl;
cout<<"2. DEQUEUE"<<endl;
cout<<"3. TAMPIL"<<endl;
cout<<"4. CLEAR"<<endl;
cout<<"5. EXIT"<<endl;
cout<<"Masukkan Pilihan:"; cin>>pil;
switch(pil) {
case 1:
cout<<"Masukkan Data:"; cin>>data;
Enqueue(data);
break;
case 2:
Dequeue();
break;
case 3:
Tampil();
break;
case 4:
Clear();
break;
case 5:
break;
}
getch();
}
while(pil!=5);
return 0;
}
Output Program
Referensi:
Komentar
Posting Komentar