Question: Modify the ArrayQueue class in the class GitHub (https://github.com/apanangadan/CSUF-CPSC_131/blob/master/ArrayQueue.h) page to make the array queue capacity extendable. Assuming the default queue capacity is 5. You

Modify the ArrayQueue class in the class GitHub (https://github.com/apanangadan/CSUF-CPSC_131/blob/master/ArrayQueue.h) page to make the array queue capacity extendable.

Assuming the default queue capacity is 5.

You only need to write and show the C++ codes to implement the below two functions:

a. void resize(int N);

This function resizes the current queue array capacity to N.

b. void enqueue(const E& e);

This function appends a new element to the back of the queue. If the queue is full then it calls the resize function to double the current capacity and then en-queue the new element to the new capacity queue.

Example of an Extendable Array Queue Class declaration:

template

class ExtArrayQueue {

enum { DEF_CAPACITY = 5 }; // default queue capacity

public:

ExtArrayQueue(int cap = DEF_CAPACITY); // constructor from capacity

int size() const; // number of items in the queue

bool empty() const; // is the queue empty?

const E& front() const; // get the front element

void enqueue(const E& e); // add to back of queue

void dequeue(); // remove from front of queue

void printAll(); // print all elements in the queue

Private:

void resize(int N); // resize the array to size N

E* Q; // array of queue elements

int capacity; // queue capacity

int f; // index of the front of the queue

int r; // index of the rear of the queue

int n; // number of elements

};

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!