public class circularqueue {
private int maxSize;
private int front;
private int rear;
private int currentSize;
private int[] queueArray;
public circularqueue(int size) {
maxSize = size;
queueArray = new int[maxSize];
front = 0;
rear = -1;
currentSize = 0;
}
public boolean isEmpty() {
return currentSize == 0;
}
public boolean isFull() {
return currentSize == maxSize;
}
public int size() {
return currentSize;
}
public void enqueue(int item) {
if (isFull()) {
System.out.println("Queue is full. Cannot enqueue " + item);
} else {
rear = (rear + 1) % maxSize;
queueArray[rear] = item;
currentSize++;
System.out.println(item + " enqueued to the queue");
}
}
public int dequeue() {
if (isEmpty()) {
System.out.println("Queue is empty. Cannot dequeue.");
return -1; // You can choose a different value to represent an error condition
} else {
int dequeuedItem = queueArray[front];
front = (front + 1) % maxSize;
currentSize--;
System.out.println(dequeuedItem + " dequeued from the queue");
return dequeuedItem;
}
}
public int front() {
if (isEmpty()) {
System.out.println("Queue is empty. No front element.");
return -1; // You can choose a different value to represent an error condition
} else {
return queueArray[front];
}
}
public static void main(String[] args) {
circularqueue queue = new circularqueue(5);
queue.enqueue(1);
queue.enqueue(2);
queue.enqueue(3);
queue.enqueue(4);
queue.enqueue(5);
System.out.println("Front element: " + queue.front());
System.out.println("Queue size: " + queue.size());
queue.dequeue();
queue.dequeue();
System.out.println("Front element after dequeue: " + queue.front());
System.out.println("Queue size after dequeue: " + queue.size());
}
}
Top comments (0)