#include <ArrayQueue.hpp>
Public Methods | |
__inline | ArrayQueue () |
__inline | ArrayQueue (unsigned long sz) |
virtual | ~ArrayQueue () |
void | clear () |
void | enqueue (const Elem item) |
Elem | dequeue () |
Elem | firstValue () const |
bool | isEmpty () const |
Private Attributes | |
unsigned long | size |
unsigned long | front |
unsigned long | rear |
Elem * | listarray |
|
Definition at line 13 of file ArrayQueue.hpp. |
|
Definition at line 19 of file ArrayQueue.hpp. |
|
Definition at line 25 of file ArrayQueue.hpp. 00026 { 00027 delete [] listarray; 00028 } |
|
Definition at line 30 of file ArrayQueue.hpp. 00031 { 00032 front = rear; 00033 } |
|
Definition at line 64 of file ArrayQueue.hpp. 00065 { 00066 assert( !isEmpty() ); // There must be something to dequeue 00067 front = (front+1) % size; // Increment front 00068 return listarray[ front ]; // Return value 00069 } |
|
Definition at line 57 of file ArrayQueue.hpp. 00058 { 00059 assert( ((rear+1) % size) != front ); // Queue must not be full 00060 rear = (rear+1) % size; // Increment rear (in circle) 00061 listarray[rear] = item; 00062 } |
|
Definition at line 38 of file ArrayQueue.hpp. 00039 { 00040 assert( !isEmpty() ); 00041 return listarray[ (front+1) % size ]; 00042 } |
|
Definition at line 44 of file ArrayQueue.hpp. 00045 { 00046 return front == rear; 00047 } |
|
Definition at line 51 of file ArrayQueue.hpp. |
|
Definition at line 53 of file ArrayQueue.hpp. |
|
Definition at line 52 of file ArrayQueue.hpp. |
|
Definition at line 50 of file ArrayQueue.hpp. |