
|
|


class Queue<T> {
T deque() { ... }
void enque(T v) { ... }
}
|
|
|
|
|
| |
| Stack (LIFO) order | Queue (fifo) order |




|
|
head = (head + 1) % n
tail = (tail + 1) % n
bool isEmpty() { return size == 0; }
| List | Queue | Queue | Queue | |
|---|---|---|---|---|
| (CBuffer) | (List) | (DArray) | ||
| create | fast | fast | fast | fast |
| delete | fast | fast | fast | fast |
| add | slow | fast | fast | fast* |
| remove | slow | fast | fast | fast* |
| traversal | fast | na | na | na |
| navigation | fast | na | na | na |
| dynamic | no | no | yes | yes |
* Most of the time.
Values added or removed at either end.


create() may have a priority comparator argument.
enqueue() and dequeue() may have
a priority argument.
| This page last modified on 11 February 2010. |