Question: problem 2 class IntList { private: struct Node { int data; Node* next; }; Node* head; unsigned int size; public: class iterator { int& operator*()

problem 2
class IntList { private: struct Node { int data;
Node* next;
};
Node* head; unsigned int size; public:
class iterator {
int& operator*() const;
iterator& operator++();
};
class const_iterator {
const int& operator*() const;
const_iterator& operator++();
};
// returns an iterator associated with the first element in the list iterator begin();
// returns an iterator associated with the last element in the list iterator end();
// returns the last element in the list int pop_back();
// returns the first element in the list int pop_front();
// adds x to the end of the list void push_back(const int& x); // adds x to the beginning of the list void push_front(const int& x);
// returns the number of elements in the list unsigned int size();
};
The stack is implemented by the class IntStack with the following interface:
class IntStack { public:
// push x on the stack void push(const int & x);
// pop the element from the top of the stack and store in x void pop(int& x);
// return true if the stack is empty bool isEmpty();
// peek the element at the top without popping it const int& top();
};
Your implementation of the function reverse() should start as follows:
void reverse() {
IntList input; // e.g. 5 --> 1 --> 2 --> 7
IntList output; // e.g. 7 --> 2 --> 1 --> 5
IntStack s;
IntList::iterator it = input.begin();
// TODO: you code here
Void reverse ();
Iterator begin ();
Iterator end ();
Int pop-back ();
Int pop-front ();
Void push-back (const int&);
Void push-front (cons tint &x);
Int size();
Void int test::reverse()
{
For (iterator one = begin; i=size(); one++)
{
s.push(*one);
++I;
}
Head=null;
While(!s.empty())
{ push-back(s.top());
s.pop();
}}
}
Complete the code for the class SpecialQueue below, which implements a queue in terms of two stacks. Assume that the stacks are implemented by the class IntStack with the interface from Problem 2. class public: void enqueue(const int& x) \ II TODO: you code here void dequeue(int& x) \ TODO: you code here private: IntStack inbox IntStack outbox
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
