Implementation of Circular Queue
Implementation of Circular Queue
#include <iostream>
#define MAX_SIZE 5
class Queue {
public:
bool isEmpty()
{
if (front == rear)
return true;
return false;
}
bool isFull()
{
if ((rear + 1) % MAX_SIZE == front)
return true;
return false;
}
void dequeue()
{
if (this->isEmpty()) {
printf("Queue Underflow!\n");
return;
}
front = (front + 1) % MAX_SIZE;
}
int peek()
{
if (this->isEmpty()) {
printf("Queue is Empty!\n");
return -1;
}
return arr[(front + 1) % MAX_SIZE];
}
void print()
{
if (this->isEmpty())
return;
for (int i = (front + 1) % MAX_SIZE; i < rear;
i = (i + 1) % MAX_SIZE) {
int main()
{
Queue q;
q.enqueue(11);
q.enqueue(11);
q.enqueue(11);
q.enqueue(11);
q.enqueue(11);
q.enqueue(11);
q.dequeue();
q.dequeue();
q.enqueue(123);
q.print();
return 0;
}