DEV Community

Aniket pagedar
Aniket pagedar

Posted on

QUEUE

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());
}
Enter fullscreen mode Exit fullscreen mode

}

Top comments (0)