Files
spring-security-series/Java/data-structure-with-java/queue/MyQueue.java
2021-07-25 22:53:59 +05:30

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());
}
}