|
|
Queue is an abstract data type and a common data structure similar to stack . Queue is an ordered list in which insertions (Push) , deletion (Pop) operations are done at different ends . The end at which insertion is performed is known as rear end . The end at which deletion (Pop) operation is performed is known as front end .
Queue follows "First in First Out Principle" which implies that the element which is inserted first is deleted first from the queue . Queue can be implemented using arrays and linkedlists .
for example : Let 1,2,3,4,5 be the five elements inserted and the first element inserted is 1 and next element to be inserted is 2 and soon . To delete an element from the Queue , the first element to be deleted is 1 which follows First In First Out principle .
Also check : Implementation of Stacks using c++
In my previous post I discussed about implementation of stacks with Push , pop and top operations . In the similar way we perform Push , pop operations in Queue at two different ends .
If the pop operation is performed the first element is removed the vacancy is created . To fill the vacancy the elements in the queue are rearranged after an element is removed from the queue . "Queue Underflow " occurs when the pop operation is performed in an empty Queue .
Download the program source code . The above program is implemented in c++ using object oriented programming .
Also check : Search algorithm for Binary search Tree
If I have missed anything please get it to me through comments . Also share your logic and idea with us through comments . If you feel there can be a better way and logic to improve the program please comment below .
Queue follows "First in First Out Principle" which implies that the element which is inserted first is deleted first from the queue . Queue can be implemented using arrays and linkedlists .
for example : Let 1,2,3,4,5 be the five elements inserted and the first element inserted is 1 and next element to be inserted is 2 and soon . To delete an element from the Queue , the first element to be deleted is 1 which follows First In First Out principle .
![]() |
| image credits : wikipedia.org |
Applications of Queue :
The main application of Queue of Processors in the operating system . The first program or instruction that is to be passed must be executed first which follows Queue Principle .In my previous post I discussed about implementation of stacks with Push , pop and top operations . In the similar way we perform Push , pop operations in Queue at two different ends .
Push :
Push an element into the queue or Insert an element into the queue from the rear end . If the queue is full i.e we cannot insert any element into the queue and this situation is known as "Queue Overflow".Pop :
Delete an element or to pop an element form the queue at the front end . This operation is performed at the front end of the queue .If the pop operation is performed the first element is removed the vacancy is created . To fill the vacancy the elements in the queue are rearranged after an element is removed from the queue . "Queue Underflow " occurs when the pop operation is performed in an empty Queue .
Program for Queue and implementation using c++
/* Queue implementation using c++ */
#include<iostream>
using namespace std;
class queue
{
public :
int *a,f,r,size;
queue()
{
f=0;
r=-1;
cout<<"\nEnter size of the Queue\n";
cin>>size;
a = new int [size];
}
int isempty();
int isfull();
int push();
int pop();
int display();
};
int queue :: isempty()
{
if(r==-1)
return 1;
return 0;
}
int queue :: isfull()
{
if(r==(size-1))
return 1;
return 0;
}
int queue :: push()
{
if(isfull())
{
cout<<"\n Queue Overflow\n";
return 0;
}
else
{
cout<<"\nEnter an Element\n";
cin>>a[++r];
cout<<"Inserted successfully\n";
}
}
int queue :: pop()
{
if(isempty())
{
cout<<"\nQueue Underflow\n";
return 0;
}
for(int i=0;i<=r;i++)
a[i]=a[i+1];
--r;
cout<<"Element deleted successfully\n";
}
int queue :: display()
{
if(isempty())
{
cout<<"\nQueue is empty -- No element to display\n";
return 0;
}
else
{
for(int i=0;i<=r;i++)
cout<<""<<a[i]<<" ";
}
}
int main()
{
int i=0,s;
queue q;
while(i!=1)
{
cout<<"\n*********M E N U*********\n";
cout<<"\n1.Push\n2.Pop\n3.Display\n4.Exit\n";
cout<<"Enter option\n";
cin>>s;
switch(s)
{
case 1:
q.push();
break;
case 2:
q.pop();
break;
case 3:
q.display();
break;
case 4:
i=1;
break;
default :
cout<<"\nEnter correct option\n";
break;
}
}
return 0;
}
Output of the program :
Download the program source code . The above program is implemented in c++ using object oriented programming .
Also check : Search algorithm for Binary search Tree
If I have missed anything please get it to me through comments . Also share your logic and idea with us through comments . If you feel there can be a better way and logic to improve the program please comment below .


public:
ReplyDeleteint *a,f,r,size;
Please, change to private:
private:
int *a,f,r,size;
public:
queue()...