Question
Using C++ uisng microsoft visual studio For this computer assignment, you are to implement the Stack class using STL queues. In the implementation of the
Using C++ uisng microsoft visual studio For this computer assignment, you are to implement the Stack class using STL queues. In the implementation of the class, you are going to use queues q1 and q2 to store and manipulate data. You are suggested to keep all elements in one of the queues at anytime. More details are described below
#ifndef ASSIGNMNET4_H #define ASSIGNMENT4_H #include
class Stack { private: std::queue q1, q2; public: bool empty() const; int size() const; int top(); void push(const int& val); void pop(); };
bool Stack::empty() const { You need to make sure both q1 and q2 are empty }
int Stack::size() const { You need to count the number of elements in both q1 and q2. }
int Stack::top() { This method returns the newest element.If q1 is not empty, simply return the end element of q1.Otherwise q2 is not empty and simply return the end element of q2. }
void Stack::push(const int& val) { Simply add the element to a non - empty queue.If both queues are empty the new element can be added to an arbitrary queue. }
void Stack::pop() { This method removes the newest element.Since all elements are in one of the queues, say it is the source, you need to dump all elements except the newest to the other queue.And then remove the last(i.e.the newest) element in the source.
}
int main() { Stack s; string op; int val = 0; cout << "operation -- size front end" << endl; cin >> op; while ( !cin.eof() ) { if ( op == "push" ) { cin >> val; s.push( val ); cout << op << " " << val << " -- "; } else if ( op == "pop" ) { s.pop(); cout << op << " -- "; } else { cerr << "Error input: " << op << endl; return 1; } cout << setw(3) << s.size() << setw(5) << s.top() << endl; cin >> op; }
while ( !s.empty() ) s.pop(); cout << "End -- size of Stack is: " << s.size() << endl;
return 0; }
output
operation -- size front end push 1 -- 1 1 push 2 -- 2 2 push 3 -- 3 3 pop -- 2 2 push 4 -- 3 4 push 5 -- 4 5 push 6 -- 5 6 pop -- 4 5 push 7 -- 5 7 push 8 -- 6 8 End -- size of Stack is: 0
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started