#include<stdio.h>
#include<stdlib.h>
#define mak 5
struct ANTRIAN {
int data[mak];
int depan;
int belakang;
};
struct ANTRIAN antri ;
void enqueue(int nilai);
void dequeue();
int main(){
int x,pilih;
int i;
antri.depan=antri.belakang=-1;
do{
printf("Menu Operasi Queue\n");
printf ("==================\n");
printf ("1. enqueue.\n");
printf ("2. dequeue.\n");
printf ("3. tampil.\n");
printf ("4. keluar.\n");
printf ("Pilihan anda ? [1-4] : ");scanf("%d",&pilih);
switch (pilih){
case 1: printf("data yang akan diantrikan : ");scanf("%d",&x);
enqueue(x);
break;
case 2: dequeue();
break;
case 3://tampil
if(antri.belakang==-1){
printf("data antrian masih kosong..!!!\n");
}
else{
printf("\ndata antrian : \n");
for(i=antri.depan;i<=antri.belakang;i++){
printf("%d ",antri.data[i]);
}
printf("\n");
}
break;
case 4:exit(0);break;
}
}while(pilih>0 && pilih<=4);
return 0;
}
void enqueue(int nilai)
{
if (antri.belakang==(mak-1)){
printf("antrian penuh....!!\n");
}
else if (antri.belakang==-1){
antri.depan=antri.belakang=0;
antri.data[antri.belakang]=nilai;
printf("data %d berhasil dimasukkan.\n",nilai);
}
else{
antri.belakang++;
antri.data[antri.belakang]=nilai;
printf("data %d berhasil dimasukkan.\n",nilai);
}
}
void dequeue()
{
if(antri.belakang==-1){
printf("data antrian masih kosong..!!!\n");
}
else{
printf("data yang dikeluarkan dari antrian : %d\n",antri.data[antri.depan]);
for(int i=antri.depan;i<=antri.belakang;i++){
antri.data[i]=antri.data[i+1];
}
antri.belakang--;
}
}
Rabu, 29 Juni 2011
queue
04.02
zeo shaman
No comments
0 komentar:
Posting Komentar