-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathproblem.cpp
More file actions
101 lines (96 loc) · 1.79 KB
/
Copy pathproblem.cpp
File metadata and controls
101 lines (96 loc) · 1.79 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#include<stdio.h>
#define size 3
struct Queue
{
int A[size];
int front;
int rear;
};
typedef struct Queue myQueue;
int isEmpty(myQueue *q)
{
if(q->front==q->rear)
{
return(1);
}
return(0);
}
int isFull(myQueue *q)
{
if((q->rear+1)%size==q->front)
{
return(1);
}
return(0);
}
void insert(myQueue *q,int x)
{
if(isFull(q))
{
printf("Queue is Full.\n");
return;
}
q->rear=(q->rear+1)%size;
q->A[q->rear]=x;
return;
}
int delet(myQueue *q)
{
int x;
if(isEmpty(q))
{
printf("Queue is Empty.\n");
return(-1);
}
q->front=(q->front+1)%size;
x=q->A[q->front];
return(x);
}
void display(myQueue Q)
{
if(Q.front==Q.rear)
{
printf("Queue is Empty.\n");
//return(-1);
}
int i;
i=Q.rear;
printf("\nQueue contents are as follows.\n");
while(i>Q.front)
{
printf("%d ",Q.A[i]);
i--;
}
printf("\n");
}
int main()
{
myQueue Q;
int x,choice;
Q.rear=-1;
Q.front=-1;
while(1)
{
printf("1. Insert.\n");
printf("2. Delete.\n");
printf("3. Display queue.\n");
printf("4. Exit.\n");
printf("\n Enter your choice:");
scanf("%d",&choice);
switch(choice)
{
case 1:printf("Enter a number:");
scanf("%d",&x);
insert(&Q,x);
display(Q);
break;
case 2:x=delet(&Q);
printf("deleted number is :%d\n",x);
display(Q);
break;
case 3:display(Q);
break;
case 4:return(0);
}
}//end of while
}//end of main