// // Basic Summary: clasical queue // // Implementation file for queue definition // // Copyright: // // Copyright 1993 Ron Burback // Copyright 1993 Objects Plus // All rights reserved // // Description: based on dynamic arrays // // Include files: // #include #include "queue.h" // // define the version of this structure // char * queue::version = "Objects Plus Queue Version 1.0" ; // // function: queue // parameters: none // goal: basic constructor // returns: new element // queue::queue() {}; // // function: ~queue // parameters: none // goal: basic destructor // returns: element to the heap // queue::~queue() {}; // // function: enqueue // parameters: a new element // goal: add an element to the queue // returns: modified queue // void queue::enqueue(void * e) {set(0,e);} // // function: dequeue // parameters: none // goal: remove an element from a queue // returns: the element and a modified queue // note: this algorithm is fail soft // void * queue::dequeue() {return get(length()-1) ; } ; // // function: QA test // parameters: none // goal: self test of queue, should return true, with no memory creap // returns: true/false // Boolean queue::test() { Boolean results = true ; natural limit = 200 ; queue * q ; // store a bunch of unique numbers q = new queue(); for(int i=0;i<=limit;i++){ q->enqueue((void *)i); } // verify the queue works for(i=0;i<=limit;i++){ results &= (void *)i == q->dequeue(); } delete q ; // done return results ; }