Question: Examine the following declarations and definitions for the array-based implementations for the Stack and Queue ADTs. Assume that exception class PushOnFullStack and class PopOnEmptyStack have
Examine the following declarations and definitions for the array-based implementations for the Stack and Queue ADTs. Assume that exception class PushOnFullStack and class PopOnEmptyStack have been defined and are available. Read the following code segment and fill in blank #6.
class StackType
{
public:
StackType();
void Push(StackItemType item);
void Pop();
private:
int top;
ItemType items[MAX_STACK];
};
void StackType::StackType()
{
top = -1;
}
void StackType::Push(ItemType item)
{
__________________ // 1
___________________; // 2
__________________; // 3
___________________; // 4
}
class QueType
{
public:
// prototypes of QueType operations
// go here
private:
int front;
int rear;
ItemType items[MAX_QUEUE];
}
void QueType::QueType()
{
front = MAX_QUEUE - 1;
rear = MAX_QUEUE - 1;
}
Boolean QueType::IsEmpty()
{
return (rear == front);
}
void QueType::Enqueue(ItemType item)
{
____________________; // 5
____________________; // 6
}
[1] rear = (rear +1) % MAX_QUEUE
[2] items[rear] = item
[3] rear = (rear % MAX_QUEUE) + 1
[4] items[front] = item
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
