Problem:
Write a program that implements an ArrayQueue in java.
Output:
Not available.
Solution:
public class ArrayQueue<E> implements Queue<E> { private E[] elements; private int front; private int back; private static final int INITIAL_CAPACITY = 4; public ArrayQueue() { elements = (E[]) new Object[INITIAL_CAPACITY]; } public ArrayQueue(int capacity) { elements = (E[]) new Object[capacity]; } public void add(E element) { if (size() == elements.length - 1) { resize(); } elements[back] = element; if (back < elements.length - 1) { ++back; } else { back = 0; //wrap } } public E element() { if (size() == 0) { throw new java.util.NoSuchElementException(); } return elements[front]; } public boolean isEmpty() { return (size() == 0); } public E remove() { if (size() == 0) { throw new java.util.NoSuchElementException(); } E element = elements[front]; elements[front] = null; ++front; if (front == back) { // queue is empty front = back = 0; }
No comments :
Post a Comment