[go: up one dir, main page]

0% found this document useful (0 votes)
10 views9 pages

circular-queue

Uploaded by

mitalir607
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views9 pages

circular-queue

Uploaded by

mitalir607
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

Circular Queue

Prof. Sainath Patil, VCET Vasai Rd..


Program for Circular Queue using Array
#include<stdio.h>
#include<stdlib.h>
#define MAX 10

int cqueue_arr[MAX];
int front=-1;
int rear=-1;

void display( );
void insert(int item);
int del();
int peek();
int isEmpty();
int isFull();
Prof. Sainath Patil, VCET Vasai Rd..
main()
{
int choice,item;
while(1)
{
printf("1.Insert\n");
printf("2.Delete\n");
printf("3.Peek\n");
printf("4.Display\n");
printf("5.Quit\n");
printf("Enter your choice : ");
scanf("%d",&choice);

Prof. Sainath Patil, VCET Vasai Rd..


switch(choice)
{
case 1 : printf("Input the element for insertion : ");
scanf("%d",&item);
insert(item); break;
case 2 : printf("Element deleted is : %d\n",del()); break;
case 3: printf("Element at the front is : %d\n",peek()); break;
case 4: display(); break;
case 5: exit(1); break;
default: printf("Wrong choice\n");
}/*End of switch*/
}/*End of while */
}/*End of main()*/

Prof. Sainath Patil, VCET Vasai Rd..


void insert(int item)
{
if( isFull() )
{
printf("Queue Overflow\n");
return;
}
if(front == -1 )
front=0;

if(rear==MAX-1)/*rear is at last position of queue*/


rear=0;
else
rear=rear+1;
cqueue_arr[rear]=item ;
}/*End of insert()*/
Prof. Sainath Patil, VCET Vasai Rd..
int del()
{ int item;
if( isEmpty() )
{
printf("Queue Underflow\n"); exit(1);
}
item=cqueue_arr[front];
if(front==rear) /* queue has only one element */
{
front=-1;
rear=-1;
}
else if(front==MAX-1)
front=0;
else
front=front+1;
return item;
Prof. Sainath Patil, VCET Vasai Rd..
}/*End of del() */
int isEmpty()
{
if(front==-1)
return 1;
else
return 0;
}/*End of isEmpty()*/

int isFull()
{
if((front==0 && rear==MAX-1) || (front==rear+1))
return 1;
else
return 0;
}/*End of isFull()*/

Prof. Sainath Patil, VCET Vasai Rd..


int peek()
{
if( isEmpty() )
{
printf("Queue Underflow\n");
exit(1);
}
return cqueue_arr[front];
}/*End of peek()*/

Prof. Sainath Patil, VCET Vasai Rd..


void display()
{ int i;
if(isEmpty())
{
printf("Queue is empty\n"); return;
}
printf("Queue elements :\n");
i=front;
if( front<=rear )
{ while(i<=rear)
printf("%d ",cqueue_arr[i++]);
} else
{ while(i<=MAX-1)
printf("%d ",cqueue_arr[i++]);
i=0;
while(i<=rear)
printf("%d ",cqueue_arr[i++]);
}}/*End of display() */Prof. Sainath Patil, VCET Vasai Rd..

You might also like