Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

C++ class Queue { public: Queue(); bool empty() const; bool full() const; QueueE

ID: 674041 • Letter: C

Question

C++

class Queue

{

public:

Queue();

bool empty() const;

bool full() const;

QueueElement front();

void Enqueue(QueueElement);

void Dequeue();

int size();

private:

QueueElement m_Array[CAPACITY];

int m_Front, m_Back;

};

A new class ModifiedQueue is defined below. It uses the above Queue as its data member

m_Queue to hold the items(ModifiedQueue’s data member just contains m_Queue). It

includes two public member functions MergeQueue, and SplitQ. Implement all functions in

implementation . cpp file.

class ModifiedQueue

{

public:

Queue MergeQueue(Queue P);

/* alternately merge queue item from P to private queue and return the merged queue

*/

Queue SplitQ( );

/* SplitQ function returns a queue which consists of odd position of items from the

private queue m_Queue. */

private:

/* Define the private data member below. */

Queue m_Queue;

};

Explanation / Answer

// queuess.cpp : Defines the entry point for the console application.

//

#include "stdafx.h"

#include<queue>

#include<iostream>

#include<array>

using namespace std;

std::array<int,5> a;int j=0;

class ModifiedQueue

{

public:void MergeQueue(std::queue<int> q)

{

std::queue<int> q2;

for(int i=0;i<=q.size();i++)

{

a[j]=q.front();

q.pop();

j++;

}

for(int i=0;i<a.size();i+2){

q2.push(a[i]);

}

for(int j=0;j<q2.size();j++)

{

cout<<"elements in merged queue:"<<endl;

cout<<q2.front();

q2.pop();

}

};

int main()

{

std::queue<int> q1;

q1.push(1);

q1.push(2);

q1.push(3);

q1.push(4);

q1.push(5);

ModifiedQueue m_Queue;

m_Queue.MergeQueue(q1);

system("pause");

}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote