Implementing queue data structure using C++
/* C++ program to implement queue data structure using class */
Program:
#include"iostream"
#include"cstdlib"
#define max 5
using namespace std;
class queue_exam
{
private:
int front, rear, arr[max], count;
public:
queue_exam()
{
front = rear = count = 0;
}
void enqueue(int num)
{
if(rear == max)
{
cout<<"\nQueue is full.";
}
else
{
arr[rear] = num;
cout<<"\nElement "<<num<<" inserted.";
rear++;
}
}
void dequeue()
{
if(front == rear)
{
cout<<"Queue is empty";
front=rear=0;
}
else
{
cout<<"\nElement "<<arr[front]<<" removed."<<endl;
++front;
}
}
void display()
{
cout<<"\nElements in queue are: \n";
for(int i=front; i<rear; i++)
{
cout<<arr[i]<<" ";
}
}
void size()
{
count=0;
for(int i=front; i<rear; i++)
{
count++;
}
cout<<"\nThere are: "<<count<<" elements in the queue."<<endl;
}
};
int main()
{
queue_exam q1;
int opt;
do
{
cout<<"\n*********** Menu ***********\n";
cout<<"1. Insert an element \n2. Remove an element \n3. Display \n4. size of current queue \n5. Exit \n";
cin>>opt;
switch(opt)
{
case 1:
try
{
cout<<"Enter an element to insert in queue: ";
int value;
cin>>value;
if(value < 1)
{
throw 'a';
}
q1.enqueue(value);
}
catch(...)
{
cout<<"Number should be greater than 0";
}
break;
case 2:
q1.dequeue();
break;
case 3:
q1.display();
break;
case 4:
q1.size();
break;
case 5:
exit(0);
default:
cout<<"Please enter any choice.";
}
}while(opt != 5);
}
Download Source Code:
Output:
Program:
#include"iostream"
#include"cstdlib"
#define max 5
using namespace std;
class queue_exam
{
private:
int front, rear, arr[max], count;
public:
queue_exam()
{
front = rear = count = 0;
}
void enqueue(int num)
{
if(rear == max)
{
cout<<"\nQueue is full.";
}
else
{
arr[rear] = num;
cout<<"\nElement "<<num<<" inserted.";
rear++;
}
}
void dequeue()
{
if(front == rear)
{
cout<<"Queue is empty";
front=rear=0;
}
else
{
cout<<"\nElement "<<arr[front]<<" removed."<<endl;
++front;
}
}
void display()
{
cout<<"\nElements in queue are: \n";
for(int i=front; i<rear; i++)
{
cout<<arr[i]<<" ";
}
}
void size()
{
count=0;
for(int i=front; i<rear; i++)
{
count++;
}
cout<<"\nThere are: "<<count<<" elements in the queue."<<endl;
}
};
int main()
{
queue_exam q1;
int opt;
do
{
cout<<"\n*********** Menu ***********\n";
cout<<"1. Insert an element \n2. Remove an element \n3. Display \n4. size of current queue \n5. Exit \n";
cin>>opt;
switch(opt)
{
case 1:
try
{
cout<<"Enter an element to insert in queue: ";
int value;
cin>>value;
if(value < 1)
{
throw 'a';
}
q1.enqueue(value);
}
catch(...)
{
cout<<"Number should be greater than 0";
}
break;
case 2:
q1.dequeue();
break;
case 3:
q1.display();
break;
case 4:
q1.size();
break;
case 5:
exit(0);
default:
cout<<"Please enter any choice.";
}
}while(opt != 5);
}
Download Source Code:
Output:
Comments
Post a Comment