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");
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.