public class ResizingArrayQueue<Item> extends Object implements Iterable<Item>
This implementation uses a resizing array, which double the underlying array when it is full and halves the underlying array when it is one-quarter full. The enqueue and dequeue operations take constant amortized time. The size, peek, and is-empty operations takes constant time in the worst case.
For additional documentation, see Section 1.3 of Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne.
| Constructor and Description |
|---|
ResizingArrayQueue()
Initializes an empty queue.
|
| Modifier and Type | Method and Description |
|---|---|
Item |
dequeue()
Removes and returns the item on this queue that was least recently added.
|
void |
enqueue(Item item)
Adds the item to this queue.
|
boolean |
isEmpty()
Is this queue empty?
|
Iterator<Item> |
iterator()
Returns an iterator that iterates over the items in this queue in FIFO order.
|
static void |
main(String[] args)
Unit tests the ResizingArrayQueue data type.
|
Item |
peek()
Returns the item least recently added to this queue.
|
int |
size()
Returns the number of items in this queue.
|
public boolean isEmpty()
public int size()
public void enqueue(Item item)
item - the item to addpublic Item dequeue()
NoSuchElementException - if this queue is emptypublic Item peek()
NoSuchElementException - if this queue is emptypublic Iterator<Item> iterator()
public static void main(String[] args)
Copyright © 2014. All Rights Reserved.