#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. |
1.2.11.1 written by Dimitri van Heesch,
© 1997-2001