Data Structure Using C++
Queue Data Structure
Queue Using Array
class queue
{
private:
int front;
int rear;
int size;
int noElements;
int *arr;
public:
queue(int s);
void enqueue (int x);
int dequeue ();
bool isEmpty();
bool isFull ();
int getFront();
};
queue::queue(int s)
{
size=s;
arr=new int[size];
rear=-1;
noElements=0;
front=0;
}
void queue::enqueue(int x)
{
if(!isFull())
{
rear=(rear+1)%size;
arr[rear]=x;
noElements++;
}
else
{
cout<<"Queue is full."<<endl;
}
}
int queue::dequeue()
{
if(!isEmpty())
{
int x;
x=arr[front];
front=(front+1)%size;
noElements--;
return x;
}
else
{
cout<<"Queue is empty."<<endl;
}
}
bool queue::isEmpty()
{
if(noElements==0)
{
return true;
}
else
{
return false;
}
}
bool queue::isFull()
{
if(noElements==size)
{
return true;
}
else
{
return false;
}
}
int queue::getFront()
{
return arr[front];
}
int main ()
{
queue q(3);
q.dequeue();
q.enqueue(1);
q.enqueue(3);
q.enqueue(4);
cout<<"Front element is:"<<q.getFront()<<endl;
}
Let me know in the comment section if you have any question.
Previous Post:
Stack Template in Data Structure Using C++
Comments
Post a Comment