- implement the Queue ADT using array – based approach. Using C++ programming La
ID: 3797091 • Letter: #
Question
- implement the Queue ADT using array – based approach. Using C++ programming Language
#include "QueueArray.h"
template <typename DataType>
QueueArray<DataType>::QueueArray(int maxNumber)
{
}
template <typename DataType>
QueueArray<DataType>::QueueArray(const QueueArray& other)
{
}
template <typename DataType>
QueueArray<DataType>& QueueArray<DataType>::operator=(const QueueArray& other)
{
}
template <typename DataType>
QueueArray<DataType>::~QueueArray()
{
}
template <typename DataType>
void QueueArray<DataType>::enqueue(const DataType& newDataItem) throw (logic_error)
{
}
template <typename DataType>
DataType QueueArray<DataType>::dequeue() throw (logic_error)
{
DataType temp;
return temp;
}
template <typename DataType>
void QueueArray<DataType>::clear()
{
}
template <typename DataType>
bool QueueArray<DataType>::isEmpty() const
{
return false;
}
template <typename DataType>
bool QueueArray<DataType>::isFull() const
{
return false;
}
template <typename DataType>
void QueueArray<DataType>::putFront(const DataType& newDataItem) throw (logic_error)
{
}
template <typename DataType>
DataType QueueArray<DataType>::getRear() throw (logic_error)
{
DataType temp;
return temp;
}
template <typename DataType>
int QueueArray<DataType>::getLength() const
{
return -1;
}
//--------------------------------------------------------------------
template <typename DataType>
void QueueArray<DataType>::showStructure() const
// Array implementation. Outputs the data items in a queue. If the
// queue is empty, outputs "Empty queue". This operation is intended
// for testing and debugging purposes only.
{
int j; // Loop counter
if ( front == -1 )
cout << "Empty queue" << endl;
else
{
cout << "Front = " << front << " Back = " << back << endl;
for ( j = 0 ; j < maxSize ; j++ )
cout << j << " ";
cout << endl;
if ( back >= front )
for ( j = 0 ; j < maxSize ; j++ )
if ( ( j >= front ) && ( j <= back ) )
cout << dataItems[j] << " ";
else
cout << " ";
else
for ( j = 0 ; j < maxSize ; j++ )
if ( ( j >= front ) || ( j <= back ) )
cout << dataItems[j] << " ";
else
cout << " ";
cout << endl;
}
}
QueueArray.h
___-----------------------------------------------------------------------------
#ifndef QUEUEARRAY_H
#define QUEUEARRAY_H
#include <stdexcept>
#include <iostream>
using namespace std;
#include "Queue.h"
template <typename DataType>
class QueueArray : public Queue<DataType> {
public:
QueueArray(int maxNumber = Queue<DataType>::MAX_QUEUE_SIZE);
QueueArray(const QueueArray& other);
QueueArray& operator=(const QueueArray& other);
~QueueArray();
void enqueue(const DataType& newDataItem) throw (logic_error);
DataType dequeue() throw (logic_error);
void clear();
bool isEmpty() const;
bool isFull() const;
void putFront(const DataType& newDataItem) throw (logic_error);
DataType getRear() throw (logic_error);
int getLength() const;
void showStructure() const;
private:
int maxSize;
int front;
int back;
DataType* dataItems;
};
#endif
Explanation / Answer
Here is the code for above scenario
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.