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;

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

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!