#include
#define max 10
struct queue
{
int front,rear,data[max];
};
struct queue q;
main()
{
int ch;
q.front=0;
q.rear=-1;
int isempty();
void display();
void enqueue();
void count();
int isfull();
int dequeue();
do
{
printf("\n1-Add 2-Delete 3-Display 4-Count 5-Exit\nEnter ur choice : ");
scanf("%d",&ch);
switch(ch)
{
case 1: enqueue(); break;
case 2: printf("\nThe deleted element is %d",dequeue()); break;
case 3: display(); break;
case 4: count(); break;
}
}while(ch!=5);
}
int isfull()
{
if (q.rear==max-1)
return 1;
else
return 0;
}
int isempty()
{
if (q.rear
else
return 0;
}
void count()
{
printf("\nThe number of elements in the queue are %d",q.rear-q.front+1);
}
void enqueue()
{
int val;
if (isfull())
printf("\nQueue is full!");
else
{
printf("\nEnter the element... ");
scanf("%d",&val);
q.rear+=1;
q.data[q.rear]=val;
}
}
int dequeue()
{
int x;
if (isempty())
printf("\nQueue is empty!");
else
{
x=q.data[q.front];
q.front+=1;
return x;
}
}
void display()
{
int i;
printf("\nThe elements in the queue are...\n");
for(i=q.front;i<=q.rear;i++)
printf("%d\n",q.data[i]);
}
No comments:
Post a Comment