#include<stdio.h>
#include<conio.h>
# define size 10
void endque(struct queue *q);
void reverse(struct queue *q);
void display(struct queue q);
struct queue
{
int f;
int r;
int tos;
int arr[size];
int stack[size];
};
void main()
{
struct queue q;
int choice,ch;
q.f=-1;
q.r=-1;
q.tos=-1;
do
{
printf("\n1.make the queue");
printf("\n2.diplay queue");
printf("\n3.reverse queue");
printf("\n\n\nenter your choice :: ");
scanf("%d",&choice);
switch(choice)
{
case 1:
endque(&q);
break;
case 2:
display(q);
break;
case 3:
reverse(&q);
break;
default:
printf("invalid choice");
break;
}
printf("\n\ndo you want to continue so enter(1) :: ");
scanf("%d",&ch);
}while(ch==1);
getch();
}
void endque(struct queue *q)
{
int val;
printf("\n enter value :: ");
scanf("%d",&val);
if(q->r==size-1)
{
printf("\n queue is full");
}
else if(q->f==-1 && q->r==-1)
{
q->f++;
q->r++;
q->arr[q->r]=val;
}
else
{
q->r++;
q->arr[q->r]=val;
}
}
void display(struct queue q)
{
int temp;
temp=q.f;
if(q.f==-1 || q.r==-1 || q.f>q.r)
{
printf("\n queue is empty\n");
}
else
{
printf("\n");
while(temp<=q.r)
{
printf("\n%d\n",q.arr[temp]);
temp++;
}
}
if(q.tos==-1)
{
printf("\n queue is not reverse\n");
}
else
{
printf("\n queue is reverse\n");
while(q.tos!=-1)
{
printf("\n%d",q.stack[q.tos]);
q.tos--;
}
}
}
void reverse(struct queue *q)
{
int temp1;
temp1=q->f;
if(temp1==-1 && q->r==-1)
{
printf("\n queue empty");
}
else
{ while(temp1<=q->r)
{
q->tos++;
q->stack[q->tos]=q->arr[temp1];
temp1++;
}
printf("\n queue is reverse \n");
}
}
***********************************************************************************************************************
------------------------------------------------------------------------
output
------------------------------------------------------------------------
1.make the queue
2.diplay queue
3.reverse queue
enter your choice :: 1
enter value :: 10
do you want to continue so enter(1) :: 1
1.make the queue
2.diplay queue
3.reverse queue
enter your choice :: 20
invalid choice
do you want to continue so enter(1) :: 1
1.make the queue
2.diplay queue
3.reverse queue
enter your choice :: 1
enter value :: 20
do you want to continue so enter(1) :: 1
1.make the queue
2.diplay queue
3.reverse queue
enter your choice :: 1
enter value :: 30
do you want to continue so enter(1) :: 1
1.make the queue
2.diplay queue
3.reverse queue
enter your choice :: 2
10
20
30
queue is not reverse
do you want to continue so enter(1) :: 1
1.make the queue
2.diplay queue
3.reverse queue
enter your choice :: 3
queue is reverse
do you want to continue so enter(1) :: 1
1.make the queue
2.diplay queue
3.reverse queue
enter your choice :: 2
10
20
30
queue is reverse
30
20
10
do you want to continue so enter(1) ::
***************************************************************************************************************************************
- Blogger Comment
- Facebook Comment
Subscribe to:
Post Comments
(
Atom
)
0 comments:
Post a Comment