Assignment 02
Assignment 02
CODE:
#include <iostream>
class CircularQueue {
private:
int* array;
public:
CircularQueue(int capacity) {
this->capacity = capacity;
size = 0;
bool isFull() {
bool isEmpty() {
if (isFull()) {
cout << "Queue is full. Cannot insert " << value << endl;
return;
if (isEmpty()) {
front = rear = 0;
} else {
array[rear] = value;
size++;
cout << "Inserted " << value << " into the queue." << endl;
void remove() {
if (isEmpty()) {
return;
if (front == rear) {
} else {
front = (front + 1) % capacity;
size--;
cout << "Removed " << removedValue << " from the queue." << endl;
};
int main() {
CircularQueue s(5);
s.insert(1);
s.insert(2);
s.remove();
s.insert(3);
s.insert(5);
s.insert(7);
s.remove();
s.remove();
s.insert(10);
s.insert(20);
return 0;
OUTPUT SCREENSHOT:
Q.NO2
Initial state:
array = [ _, _, _, _, _ ]
s.insert(1):
front = 0, rear = 0
array = [ 1, _, _, _, _ ]
s.insert(2):
front = 0, rear = 1
array = [ 1, 2, _, _, _ ]
s.remove():
front = 1, rear = 1
array = [ _, 2, _, _, _ ]
s.insert(3):
front = 1, rear = 2
array = [ _, 2, 3, _, _ ]
s.insert(5):
front = 1, rear = 3
array = [ _, 2, 3, 5, _ ]
s.insert(7):
front = 1, rear = 4
array = [ _, 2, 3, 5, 7 ]
s.remove():
front = 2, rear = 4
array = [ _, _, 3, 5, 7 ]
s.remove():
front = 3, rear = 4
array = [ _, _, _, 5, 7 ]
s.insert(10):
front = 3, rear = 0
array = [ 10, _, _, 5, 7 ]
s.insert(20):
front = 3, rear = 1