Circular Queue
Circular Queue
Roll:No : 42 Experiment No : 8
/***********************************************************************************/
PROGRAM
#include<stdio.h>
int a[20],size,front,rear;
if((rear+1)%size==front)
printf("\nQueue is full.");
else if(rear==-1&&front==-1)
front=rear=0;
a[rear]=item;
else
rear=(rear+1)%size;
a[rear]=item;
void dequeue_cq()
if(rear==-1&&front==-1)
{
printf("\nQueue is empty.");
else if(front==rear)
front=rear=-1;
else
front=(front+1)%size;
void display_cq()
int i;
if(rear==-1&&front==-1)
printf("\nQueue is empty.");
else if(front<=rear)
for(i=front;i<=rear;i++)
printf("\t%d",a[i]);
else
{
for(i=front;i<size;i++)
printf("\t%d",a[i]);
for(i=0;i<=rear;i++)
printf("\t%d",a[i]);
void main()
int opt,item;
front=rear=-1;
scanf("%d",&size);
do
scanf("%d",&opt);
switch(opt)
scanf("%d",&item);
enqueue_cq(item);
break;
case 2:dequeue_cq();
break;
case 3:display_cq();
break;
case 4:break;
default:printf("\nInvalid option.");
}while(opt!=4);
/***********************************************************************************/
OUTPUT
(1)ENQUEUE
(2)DEQUEUE
(3)DISPLAY
(4)EXIT
(1)ENQUEUE
(2)DEQUEUE
(3)DISPLAY
(4)EXIT
(1)ENQUEUE
(2)DEQUEUE
(3)DISPLAY
(4)EXIT
1
Enter the item to be inserted:4
(1)ENQUEUE
(2)DEQUEUE
(3)DISPLAY
(4)EXIT
Queue is full.
(1)ENQUEUE
(2)DEQUEUE
(3)DISPLAY
(4)EXIT
2 3 4
(1)ENQUEUE
(2)DEQUEUE
(3)DISPLAY
(4)EXIT
(1)ENQUEUE
(2)DEQUEUE
(3)DISPLAY
(4)EXIT
1
Enter the item to be inserted:6
(1)ENQUEUE
(2)DEQUEUE
(3)DISPLAY
(4)EXIT
3 4 6
(1)ENQUEUE
(2)DEQUEUE
(3)DISPLAY
(4)EXIT
(1)ENQUEUE
(2)DEQUEUE
(3)DISPLAY
(4)EXIT
(1)ENQUEUE
(2)DEQUEUE
(3)DISPLAY
(4)EXIT
(1)ENQUEUE
(2)DEQUEUE
(3)DISPLAY
(4)EXIT
Queue is empty.
(1)ENQUEUE
(2)DEQUEUE
(3)DISPLAY
(4)EXIT
Queue is empty.
(1)ENQUEUE
(2)DEQUEUE
(3)DISPLAY
(4)EXIT
/***********************************************************************************/