Skip to content

Commit 96c9f9f

Browse files
authored
Implement Queue using class
1 parent c742956 commit 96c9f9f

File tree

1 file changed

+105
-0
lines changed

1 file changed

+105
-0
lines changed

QUEUE.CPP

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
#include<iostream.h>
2+
#include<conio.h>
3+
#define MAX 10
4+
5+
class Queue
6+
{
7+
int front,rear;
8+
int queue[MAX];
9+
10+
public:
11+
12+
Queue()
13+
{
14+
front=rear=-1;
15+
}
16+
void qdisplay(void);
17+
void qpush(int item)
18+
{
19+
if(rear==MAX-1)
20+
{
21+
cout<<"\nQUEUE OVERFLOW";
22+
}
23+
else if(front==-1 && rear==-1)
24+
{
25+
front=rear=0;
26+
queue[rear]=item;
27+
cout<<"\nITEM INSERTED: "<<item;
28+
}
29+
else
30+
{
31+
rear++;
32+
queue[rear]=item;
33+
cout<<"\nITEM INSERTED: "<<item;
34+
}
35+
}
36+
37+
void qpop()
38+
{
39+
int item;
40+
41+
if(rear==-1)
42+
{
43+
cout<<"\nQUEUE UNDERFLOW";
44+
}
45+
else if(front==0 && rear==0)
46+
{
47+
item=queue[front];
48+
front=rear=-1;
49+
cout<<"\n\nITEM DELETED: "<<item;
50+
}
51+
else
52+
{
53+
item=queue[front];
54+
front++;
55+
cout<<"\n\nITEM DELETED: "<<item;
56+
}
57+
}
58+
59+
60+
61+
};
62+
void Queue::qdisplay(void)
63+
{
64+
if(front==-1)
65+
{
66+
cout<<"\n\nQUEUE IS EMPTY\n";
67+
}
68+
else
69+
{
70+
cout<<"\n\nQUEUE ITEMS\n";
71+
for(int i=front;i<=rear;i++)
72+
{
73+
cout<<queue[i]<<" ";
74+
}
75+
cout<<endl;
76+
77+
}
78+
}
79+
void main()
80+
{
81+
82+
Queue q;
83+
int i,ch;
84+
clrscr();
85+
do{
86+
cout<<"\nQueue operations : \n1.Push\n2.Pop\n3.Display\n4.Exit";
87+
cout<<"\nEnter the option : ";
88+
cin>>ch;
89+
switch(ch)
90+
{
91+
case 1: cout<<"\nEnter the item to be inserted : ";
92+
cin>>i;
93+
q.qpush(i);
94+
break;
95+
case 2:q.qpop();
96+
break;
97+
case 3:q.qdisplay();
98+
break;
99+
case 4:cout<<"\nThanks for using";
100+
break;
101+
default:cout<<"\nInvalid option ";
102+
}
103+
}while(ch!=4);
104+
getch();
105+
}

0 commit comments

Comments
 (0)