#include<stdio.h>
#include<stdlib.h>
#define max 6
int *queue;
int f = -1, r = -1,size;
//Declaring queue
int isEmpty(); //Declaring functions
int isFull();
int enQueue();
int deQueue();
void display();
int main(){ //main function
int cases;
printf("Enter the size of queue : ");
scanf("%d",&size);
queue = (int *)malloc(size*sizeof(int));
while(1){
printf("1. insert\n2. Delete\n3. Display\n4. exit\n");
printf("Enter your choice : ");
scanf("%d", &cases);
switch(cases){
case 1: enQueue();
break;
case 2: deQueue();
break;
case 3: display();
break;
case 4: exit(0);
default: printf("Invalid Choice!!\n");
}
}
}
int isEmpty(){
if(f == -1 || f > r){ // Queue Empty checking function
return 1;
}
else{
return 0;
}
}
int isFull() // Queue full checking function
{
if(r == size - 1){
return 1;
}
else{
return 0;
}
}
int enQueue(){ //inserting function
int n;
if(isFull()){
printf("***OVERFLOW***\n");
}
else{
printf("Enter the element to add in queue : ");
scanf("%d", &n);
queue[++r] = n;
if(f == -1){
f = 0;
}
return 0;
}
return 0;
}
int deQueue(){ //deleting function
if(isEmpty()){
printf("****UNDERFLOW****\n");
}
else{
printf("The deleted element is %d\n", queue[f]); //printing the element which will delete
f++;
return 0;
}
}
void display(){ //Printing elements
if(isEmpty()){
printf("Queue is Empty\n");
}
else{
printf("The elements in the queue : ");
for(int i = f; i<=r; i++){
printf("%d ", queue[i] );
}
printf("\n");
}
}