Skip to content

Instantly share code, notes, and snippets.

@ravikiran0606
Created July 27, 2016 15:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ravikiran0606/464ffabe56f09e5deae2f9ea6dd32585 to your computer and use it in GitHub Desktop.
Save ravikiran0606/464ffabe56f09e5deae2f9ea6dd32585 to your computer and use it in GitHub Desktop.
C++ program to implement a Queue Class with structure variables as its attributes:
#include<iostream>
#define maxi 1000
using namespace std;
struct strqueue{
int a[maxi];
int f,r;
};
class qqueue{
strqueue q;
public:
void initialize();
void enqueue(int val);
void dequeue();
void display();
};
void qqueue::initialize(){
cout<<"Empty Queue is created :D";
q.f=q.r=-1;
}
void qqueue::enqueue(int val){
if(q.r==maxi-1){
cout<<"\nQueue Overflow..";
}
else if(q.f==-1 && q.r==-1){
q.f=q.r=1;
q.a[q.r]=val;
}
else{
q.r++;
q.a[q.r]=val;
}
}
void qqueue::dequeue(){
if(q.f==-1 && q.r==-1){
cout<<"\nQueue is already empty..";
}
else if(q.f==q.r){
cout<<"\nThe dequeued element is.."<<q.a[q.f];
q.f=q.r=-1;
}
else{
cout<<"\nThe dequeued element is.."<<q.a[q.f];
q.f++;
}
}
void qqueue::display(){
int x;
if(q.f==-1 && q.r==-1){
cout<<"\nThe Queue is empty..";
return;
}
cout<<"\nThe Contents of the Queue is..";
for(x=q.f;x<=q.r;x++){
cout<<q.a[x]<<" ";
}
}
int main()
{
qqueue q;
q.initialize();
int ch,val;
cout<<"\nChoice: \n1)Enqueue \n2)Dequeue \n3)Display \n4)Exit";
while(1){
cout<<"\nEnter your choice..";
cin>>ch;
if(ch==1){
cout<<"\nEnter the element to be enqueued..";
cin>>val;
q.enqueue(val);
}
else if(ch==2){
q.dequeue();
}
else if(ch==3){
q.display();
}
else{
break;
}
}
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment