Member Functions for Queue ADT - Array Implementation
// ***************************************************************** // Implementation file Queuearr.cpp for the ADT queue. // Circular array-based implementation. The array has indexes to the // front and back of the queue. A counter tracks the number of items // currently in the queue. // ***************************************************************** #include "Queuearr.h" // header file Queue::Queue(): Front(0), Back(MAX_QUEUE-1), Count(0) { } // end default constructor int Queue::isEmpty() { return (Count == 0); } // end QueueIsEmpty int Queue::insert(queueItemType NewItem) { int Success = (Count < MAX_QUEUE); if (Success) { // queue is not full; insert item Back = (Back+1) % MAX_QUEUE; Items[Back] = NewItem; ++Count; } // end if return Success; } // end insert int Queue::del() { int Success = !isEmpty(); if (Success) { // queue is not empty; remove front Front = (Front+1) % MAX_QUEUE; --Count; } // end if return Success; } // end del int Queue::del(queueItemType& QueueFront) { int Success = !isEmpty(); if (Success) { // queue is not empty; retrieve and remove front QueueFront = Items[Front]; Front = (Front+1) % MAX_QUEUE; --Count; } // end if return Success; } // end del int Queue::getFront(queueItemType& QueueFront) { int Success = !isEmpty(); if (Success) // queue is not empty; retrieve front QueueFront = Items[Front]; return Success; } // end getFront // End of implementation file
Email Me | Office Hours | My Home Page | Department Home | MCC Home Page