Queue (Antrian) C++

 

#include<stdio.h>
#include<conio.h>

#define MAX 8
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;
printf(“%d masuk!!”, antrian.data[antrian.tail]);
}else
if(IsFull()==0){
antrian.tail++;
antrian.data[antrian.tail]=data;
printf(“%d masuk!”, antrian.data[antrian.tail]);
}
}
int Dequeue(){
int i;
int e = antrian.data[antrian.head];
for(i = antrian.head;i<=antrian.tail-1;i++){
antrian.data[i] = antrian.data[i+1];
}
antrian.tail–;
return e;
}
void Clear(){
antrian.head=antrian.tail=-1;
printf(“data clear”);
}
void Tampil(){
if(IsEmpty()==0){
for(int i=antrian.head;i<=antrian.tail;i++){
printf(“%d “, antrian.data[i]);
}
}else printf(“Data kosong!\n”);
}
void main(){
int pil;
int data;
Create();
do{
clrscr();
printf(“1. Enqueue\n”);
printf(“2. Dequeue\n”);
printf(“3. Tampil\n”);
printf(“4. Clear\n”);
printf(“5. Exit\n”);
printf(“Pilih : “);scanf(“%d”,&pil);
switch(pil){
case 1: printf(“Data : “);scanf(“%d”,&data);
Enqueue(data);
break;
case 2: printf(“Elemen yang keluar : %d”, Dequeue());
break;
case 3:
Tampil();
break;
case 4:
Clear();
break;
}
getch();
} while(pil!=5);
}

5 Tanggapan

  1. Follow blog’ku ya, ntar pasti aku follback http://andiweb3.wordpress.com

  2. t5hx ya gen

Tinggalkan komentar

Rahmadya Trias Handayanto

"Just for a little kindness"

Arisgunaryati's Blog

Be the best, whoever, whatever, whenever, wherever, however you are....

Jurnalnya Wawa

Mudah Dikenal Sulit Untuk Dilupakan

WordPress.com

WordPress.com is the best place for your personal blog or business site.