/*@author: Er.Ganesh Ram Suwal*/
/*Circular Queue*/
#include<stdio.h>
#include<conio.h>
#include<process.h>
#define MAX 5
int QUEUE[MAX],i,data,front = -1, rear = -1;
void enqueue();
void dequeue();
void display();
void main()
{
int choice;
clrscr();
start:
printf("n*********************************************************n");
printf("n*********************************************************n");
printf(" Queue operation ");
printf("n*********************************************************n");
printf("1:Enqueuen2:Dequeuen3:Displayn4:exitnEnter your choice:");
scanf("%d",&choice);
switch(choice)
{
case 1:enqueue();
break;
case 2:dequeue();
break;
case 3:display();
break;
case 4: exit(0);
break;
default:
printf("n*********************************************************n");
printf("Invalid Choice");
printf("n*********************************************************n");
}
goto start;
}
void enqueue()
{
if(front == (rear+1)%MAX)
{
printf("n*********************************************************n");
printf(" Queue overflow");
printf("n*********************************************************n");
}
else
{
printf("Enter data : ");
scanf("%d",&data);
if(front == -1)
{
front = 0;
rear = 0;
}
else
{
rear = (rear + 1)%MAX;
}
QUEUE[rear] = data;
}
}
void dequeue()
{
printf("n*********************************************************n");
if(front == -1)
{
printf(" QUEUE UNDERFLOW");
}
else
{
data = QUEUE[front];
if(rear == front)
{
rear = -1;
front = -1;
}
else
{
front = (front + 1)%MAX;
}
printf("Dequeue element = %d",data);
}
printf("n*********************************************************n");
}
void display()
{
printf("n*********************************************************n");
if(front == -1)
{
printf("No data in the queuen");
printf("f = %d, r=%d",front,rear);
}
else
{
if(rear>front)
{
for(i = front;i<=rear; i++)
{
printf("%d ",QUEUE[i]);
}
}
else if(rear == front)
{
printf("%d ",QUEUE[rear]);
}
else
{
for(i=front;i<=MAX-1;i++)
{
printf("%d ",QUEUE[i]);
}
for(i=0;i<=rear;i++)
{
printf("%d ",QUEUE[i]);
}
}
printf("nf = %d, r=%d",front,rear);
}
printf("n*********************************************************n");
}

Circular queue

  • 1.
    /*@author: Er.Ganesh RamSuwal*/ /*Circular Queue*/ #include<stdio.h> #include<conio.h> #include<process.h> #define MAX 5 int QUEUE[MAX],i,data,front = -1, rear = -1; void enqueue(); void dequeue(); void display(); void main() { int choice; clrscr(); start: printf("n*********************************************************n"); printf("n*********************************************************n"); printf(" Queue operation "); printf("n*********************************************************n"); printf("1:Enqueuen2:Dequeuen3:Displayn4:exitnEnter your choice:"); scanf("%d",&choice); switch(choice) { case 1:enqueue(); break; case 2:dequeue(); break; case 3:display(); break; case 4: exit(0); break; default: printf("n*********************************************************n"); printf("Invalid Choice"); printf("n*********************************************************n"); } goto start; } void enqueue() { if(front == (rear+1)%MAX) { printf("n*********************************************************n"); printf(" Queue overflow");
  • 2.
    printf("n*********************************************************n"); } else { printf("Enter data :"); scanf("%d",&data); if(front == -1) { front = 0; rear = 0; } else { rear = (rear + 1)%MAX; } QUEUE[rear] = data; } } void dequeue() { printf("n*********************************************************n"); if(front == -1) { printf(" QUEUE UNDERFLOW"); } else { data = QUEUE[front]; if(rear == front) { rear = -1; front = -1; } else { front = (front + 1)%MAX; } printf("Dequeue element = %d",data); } printf("n*********************************************************n"); }
  • 3.
    void display() { printf("n*********************************************************n"); if(front ==-1) { printf("No data in the queuen"); printf("f = %d, r=%d",front,rear); } else { if(rear>front) { for(i = front;i<=rear; i++) { printf("%d ",QUEUE[i]); } } else if(rear == front) { printf("%d ",QUEUE[rear]); } else { for(i=front;i<=MAX-1;i++) { printf("%d ",QUEUE[i]); } for(i=0;i<=rear;i++) { printf("%d ",QUEUE[i]); } } printf("nf = %d, r=%d",front,rear); } printf("n*********************************************************n"); }