-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathQueue_using_array.cpp
More file actions
132 lines (122 loc) · 3.52 KB
/
Copy pathQueue_using_array.cpp
File metadata and controls
132 lines (122 loc) · 3.52 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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
#include<iostream>
#define MAX 10
using namespace std;
int arr[MAX];
int front = -1;
int rear = -1;
int isFull(){
return (front == MAX-1);
}
int isEmpty(){
return (front == rear);
}
void enqueue(int item){
rear++;
arr[rear] = item;
}
int dequeue(){
front++;
return arr[front];
}
int peek(){
return (arr[front+1]);
}
int size(){
return (rear);
}
void display(){
cout<<endl;
for(int i=front+1;i<=rear;i++){
cout<<arr[i]<<" ";
}
cout<<endl;
}
int main(){
int choice,item;
do{
cout<<endl;
cout<<"Enter your choice : "<<endl;
cout<<"1. enqueue an element into the queue : "<<endl;
cout<<"2. dequeue an element from the queue : "<<endl;
cout<<"3. Peek - Get the front most element : "<<endl;
cout<<"4. Check whether the queue is full or not : "<<endl;
cout<<"5. Check whether the queue is empty or not : "<<endl;
cout<<"6. Get the size of the queue : "<<endl;
cout<<"7. Display the queue : "<<endl;
cout<<"8. To exit : ";
cin>>choice;
switch(choice){
case 1:
if(isFull()){
cout<<endl<<"The queue is full"<<endl;
}
else{
cout<<endl<<"Enter element to be enqueued : ";
cin>>item;
enqueue(item);
cout<<endl<<"The current queue is : ";
display();
}
break;
case 2:
if(isEmpty()){
cout<<endl<<"The queue is empty"<<endl;
}
else{
item = dequeue();
cout<<endl<<"The dequeued item is : "<<item;
cout<<endl<<"The current queue is :";
display();
}
break;
case 3:
if(isEmpty()){
cout<<endl<<"The queue is empty : "<<endl;
}
else{
item = peek();
cout<<endl<<"The frontmost element of the queue is : "<<item<<endl;
}
break;
case 4:
if(isFull()){
cout<<endl<<"The queue is full "<<endl;
cout<<"And the current queue is :";
display();
}
else{
cout<<endl<<"The queue is not full"<<endl;
cout<<"And the current queue is :";
display();
}
break;
case 5:
if(isEmpty()){
cout<<endl<<"The queue is empty"<<endl;
}
else{
cout<<endl<<"The queue is not empty"<<endl;
cout<<"And the current queue is :";
display();
}
break;
case 6:
item = size();
cout<<"The current size of the queue is : "<<item<<endl;
break;
case 7:
if(isEmpty()){
cout<<endl<<"The queue is empty"<<endl;
}
else{
cout<<endl<<"The current queue is :";
display();
}
break;
case 8:
break;
default:
cout<<endl<<"Enter a valid choice "<<endl;
}
}while(choice!=8);
}