|
|
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 14 October 2010. |