import java.util.Arrays;
import java.util.Scanner;
public class Queue {
private int[] elements; //integer values from scanner
private int size; //number of integer values in elements
private int head = 0; //front of the queue
private int tail = 0; //rear of the queue
private int count = 0; //tracks number of integer values
public static final int DEFAULT_CAPACITY = 8; //maximum capacity of elements[]
public Queue()
{
this(DEFAULT_CAPACITY);
}
public Queue(int capacity)
{
elements = new int[capacity];
}
public void enqueue(int v)
{
elements[tail] = v;
tail = (tail + 1) % DEFAULT_CAPACITY;
count++;
}
public void dequeue(int t){
t = elements[head];
head = (head + 1) % DEFAULT_CAPACITY;
count--;
}
public boolean isEmpty(){
return head == tail;
}
public boolean isFull(){
return (tail + 1) % DEFAULT_CAPACITY == head;
}
public int getSize(){
return this.size;
}
public String toString(){
return("head--> " + Arrays.toString(elements) + " -->tail");
}