Rabu, 29 Juni 2011

queue

#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--;
}
}

0 komentar:

Posting Komentar

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Blogger Templates