Untitled
#include <iostream> using namespace std; class CircularQueue { private: int capacity; int* queue; int front; int rear; public: CircularQueue(int size) { capacity = size; queue = new int[size]; front = rear = -1; } bool Check_Qunderflow() { return front == -1; } bool Check_Qoverflow() { return (rear + 1) % capacity == front; } void addQ(int item) { if (Check_Qoverflow()) { cout << "Queue is full. Cannot add more items." << endl; } else { if (front == -1) { front = 0; } rear = (rear + 1) % capacity; queue[rear] = item; } } int removeQ() { if (Check_Qunderflow()) { cout << "Queue is empty. Cannot remove item." << endl; return -1; } else { int removed_item = queue[front]; if (front == rear) { front = rear = -1; } else { front = (front + 1) % capacity; } return removed_item; } } }; int main() { CircularQueue cq(5); cout << cq.Check_Qunderflow() << endl; cq.addQ(1); cq.addQ(2); cq.addQ(3); cout << cq.Check_Qoverflow() << endl; cout << cq.removeQ() << endl; cout << cq.removeQ() << endl; cout << cq.removeQ() << endl; cout << cq.Check_Qunderflow() << endl; return 0; }
Leave a Comment