This programming problem deals with circularly-linked queues (CLQueue) . You must implement from scratch header file code (CLQueue.h) and .cpp definition code (CLQueue.cpp) to accommodate the...



This programming problem deals with
circularly-linked queues (CLQueue). You
must
implement from scratch header file code (CLQueue.h) and .cpp definition code (CLQueue.cpp) to accommodate the circularly linked list representation of a queue which provides efficient enqueueing and dequeueing operations with a linked-list structure.


Define and create class declaration file CLQueue.h and CLQueue.cpp with the following guidelines and required operations:



  • You
    must
    use the standard, singly linked representation for nodes:

    struct LNode {
        int item;
    //note: do not use a template class for this implementation!

        LNode* next;
    };

    You may want to revisit the
    LLUList.h
    and
    LLUList.cpp
    files for examples of how LNode is used.

  • Your actual queue structure should have a single pointer to a LNode, and needs no other elements:

    class CLQueue {
    private:
    LNode* QRear;
    };


  • Your queue must be circular. More specifically, QRear should only be NULL if the queue is empty, or otherwise its
    next
    pointer must reference the beginning of the queue – permitting fast access to both ends of the queue.

  • You must implement all of the following queue operations for the CLQueue:
    Enqueue, Dequeue, IsEmpty, MakeEmpty, and appropriate
    constructor/destructors.

  • It is highly advised that you build your own driver file for testing purposes



Jun 05, 2022
SOLUTION.PDF

Get Answer To This Question

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here