89 lines
1.9 KiB
Java
89 lines
1.9 KiB
Java
package queue;
|
|
|
|
class MyQueue {
|
|
private int[] array;
|
|
private int front;
|
|
private int rear;
|
|
private int capacity;
|
|
private int size;
|
|
|
|
MyQueue(int size) {
|
|
array = new int[size];
|
|
capacity = size;
|
|
front = 0;
|
|
rear = -1;
|
|
this.size = 0;
|
|
}
|
|
|
|
/**
|
|
* dequeue from queue
|
|
*/
|
|
public void dequeue() {
|
|
if (isEmpty()) {
|
|
System.out.println("Can't dequeue, Queue is empty");
|
|
return;
|
|
}
|
|
System.out.println("Dequeue:" + array[front]);
|
|
front = (front + 1) % capacity;
|
|
size--;
|
|
}
|
|
|
|
/**
|
|
* enqueue an item to the queue
|
|
* @param item
|
|
*/
|
|
public void enqueue(int item) {
|
|
if (isFull()) {
|
|
System.out.println("Can't enqueue, Queue is full");
|
|
return;
|
|
}
|
|
System.out.println("Enqueuing:" + item);
|
|
rear = (rear + 1) % capacity;
|
|
array[rear] = item;
|
|
size++;
|
|
}
|
|
|
|
/**
|
|
* @return the size of the queue
|
|
*/
|
|
public int size() {
|
|
return size;
|
|
}
|
|
|
|
/**
|
|
* checks if queue is empty
|
|
* @return
|
|
*/
|
|
public Boolean isEmpty() {
|
|
return (size() == 0);
|
|
}
|
|
|
|
/**
|
|
* check if queue is full
|
|
* @return
|
|
*/
|
|
public Boolean isFull() {
|
|
return (size() == capacity);
|
|
}
|
|
|
|
/**
|
|
* main method
|
|
* @param args
|
|
*/
|
|
public static void main(String[] args) {
|
|
MyQueue queue = new MyQueue(3);
|
|
queue.enqueue(1);
|
|
queue.enqueue(2);
|
|
queue.enqueue(3);
|
|
queue.enqueue(4);
|
|
queue.dequeue();
|
|
queue.dequeue();
|
|
queue.dequeue();
|
|
queue.dequeue();
|
|
System.out.println("The queue size is " + queue.size());
|
|
queue.enqueue(5);
|
|
System.out.println("The queue size is " + queue.size());
|
|
queue.dequeue();
|
|
System.out.println("The queue size is " + queue.size());
|
|
}
|
|
} |