Practice Problem
- Queue
- Array
Use a circular array with front and rear pointers to support queue operations.
O(1) per operation
O(n)
class ArrayQueue {
private int[] arr;
private int front = 0, size = 0;
public ArrayQueue(int capacity) {
arr = new int[capacity];
}
public void enqueue(int val) {
arr[(front + size) % arr.length] = val;
size++;
}
public int dequeue() {
int val = arr[front];
front = (front + 1) % arr.length;
size--;
return val;
}
}