From ffca27ec3f20bbb93211604df070d662af3d05d0 Mon Sep 17 00:00:00 2001 From: harirag <44268323+harirag@users.noreply.github.com> Date: Thu, 18 Oct 2018 20:47:26 +0530 Subject: [PATCH] stack.c --- stack.c | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 stack.c diff --git a/stack.c b/stack.c new file mode 100644 index 0000000..61124dc --- /dev/null +++ b/stack.c @@ -0,0 +1,76 @@ +\*Program to implement a stack using +two queue */ + + + +#include + +using namespace std; + +class Stack +{ + int q1, q2,x; + int curr_size; + + public: + Stack() + { + curr_size = 0; + } + + void push(int x) + { + curr_size++; + q2.push(x); + + while (!q1.empty()) + { + q2.push(q1.front()); + q1.pop(); + } + + Int(q = q1); + q1 = q2; + q2 = q; + } + + void pop(){ + + if (q1.empty()) + return ; + q1.pop(); + curr_size--; + } + + int top() + { + if (q1.empty()) + return -1; + return q1.front(); + } + + int size() + { + return curr_size; + } +}; + +int main() +{ + Stack s; + s.push(1); + s.push(2); + s.push(3); + + cout << "current size: " << s.size() + << endl; + cout << s.top() << endl; + s.pop(); + cout << s.top() << endl; + s.pop(); + cout << s.top() << endl; + + cout << "current size: " << s.size() + << endl; + return 0; +}