//-------------------------------------------------------------------- // // Laboratory 6 queuearr.h // // Class declaration for the array implementation of the Queue ADT // //-------------------------------------------------------------------- const int defMaxQueueSize = 10; // Default maximum queue size template < class QE > class Queue { public: // Constructor Queue ( int maxNumber = defMaxQueueSize ); // Destructor ~Queue (); // Queue manipulation operations void enqueue ( const QE &newElement ); // Enqueue element QE dequeue (); // Dequeue element void clear (); // Clear queue // Queue status operations int empty () const; // Queue is empty int full () const; // Queue is full // Output the queue structure -- used in testing/debugging void showStructure () const; // In-lab operations void putFront ( const QE &newElement ); // Insert at front QE getRear (); // Get from rear int length () const; // Number of elements private: // Data members int maxSize, // Maximum number of elements in the queue front, // Index of the front element rear; // Index of the rear element QE *element; // Array containing the queue elements };