Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

#include using namespace std; template class ArrayQueue { enum { DEF_CAPACITY = 100 }; // default queue capacity public: ArrayQueue(int cap = DEF_CAPACITY); // constructor

image text in transcribed

image text in transcribed

#include

using namespace std;

template

class ArrayQueue {

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

public:

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

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

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

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

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

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

void printAll(); // print all elements on stack to cout

private: // member data

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

};

template ArrayQueue::ArrayQueue(int cap)

: Q(new E[cap]), capacity(cap), f(0), r(0), n(0) { } // constructor from capacity

template int ArrayQueue::size() const

{

return n;

} // number of items in the queue

template bool ArrayQueue::empty() const

{

return (n == 0);

} // is the stack empty?

template // return element at front of queue

const E& ArrayQueue::front() const {

if (empty()) throw length_error("front of empty queue");

return Q[f];

}

template // insert element to back of queue

void ArrayQueue::enqueue(const E& e) {

if (size() == capacity) throw length_error("enqueue to full queue");

Q[r] = e;

r = (r + 1) % capacity;

n++;

}

template // remove element at front of queue

void ArrayQueue::dequeue() {

if (empty()) throw length_error("enqueue from empty queue");

f = (f + 1) % capacity;

n--;

}

// print all elements on queue

template

void ArrayQueue::printAll() {

if (empty()) throw length_error("Empty queue");

cout

int front = f;

for (int i = 0; i

cout

front = (front + 1) % capacity;

}

cout

Modify the ArrayQueue class in the following code to make the array queue capacity extendable Assuming the default queue capacity is 5

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Nested Relations And Complex Objects In Databases Lncs 361

Authors: Serge Abiteboul ,Patrick C. Fischer ,Hans-Jorg Schek

1st Edition

3540511717, 978-3540511717

More Books

Students also viewed these Databases questions

Question

3.What are the Importance / Role of Bank in Business?

Answered: 1 week ago

Question

6. Explain the strengths of a dialectical approach.

Answered: 1 week ago