// C++ program to implement a stack using// single queue#include<bits/stdc++.h>using namespace std;// User defined stack that uses a queueclass Stack{ queue<int>q;public: void push(int val); void pop(); int top(); bool empty();};// Push operationvoid Stack::push(int val){ // Get previous size of queue int s = q.size(); // Push current element q.push(val); // Pop (or Dequeue) all previous // elements and put them after current // element for (int i=0; i<s; i++) { // this will add front element into // rear of queue q.push(q.front()); // this will delete front element q.pop(); }}// Removes the top elementvoid Stack::pop(){ if (q.empty()) cout << "No elements\n"; else q.pop();}// Returns top of stackint Stack::top(){ return (q.empty())? -1 : q.front();}// Returns true if Stack is empty else falsebool Stack::empty(){ return (q.empty());}// Driver codeint main(){ Stack s; s.push(10); s.push(20); cout << s.top() << endl; s.pop(); s.push(30); s.pop(); cout << s.top() << endl; return 0;} |
Monday, 6 November 2017
Home
Unlabelled
Implement a stack using single queue
No comments:
Post a Comment