Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package queue;
- public class ArrayQueue {
- private int head;
- private int tail;
- private Object[] queue = new Object[5];
- public int size() {
- if (head > tail) {
- return queue.length - head + tail;
- } else {
- return tail - head;
- }
- }
- public void enqueue(Object element) {
- assert element != null;
- ensureCapacity(size() + 1);
- queue[tail] = element;
- tail = (tail + 1) % queue.length;
- }
- private void ensureCapacity(int capacity) {
- if (capacity < queue.length) {
- return;
- }
- Object[] newQueue = new Object[2 * capacity];
- for (int i = 0; i < size(); i++) {
- newQueue[i] = queue[i];
- }
- queue = newQueue;
- }
- public Object element() {
- assert size() > 0;
- return queue[head];
- }
- public Object dequeue() {
- assert size() > 0;
- Object x = queue[head];
- head = (head + 1) % queue.length;
- return x;
- }
- public boolean isEmpty() {
- return head == tail;
- }
- public void clear() {
- head = 0;
- tail = 0;
- }
- public void push (Object element) {
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement