Adrita

queue using stack

Aug 17th, 2020
527
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.76 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. struct Queue
  5. {
  6. stack<int> s1, s2;
  7.  
  8. void enQueue(int x)
  9. {
  10. while (!s1.empty())
  11. {
  12. s2.push(s1.top());
  13. s1.pop();
  14. }
  15. s1.push(x);
  16. while (!s2.empty())
  17. {
  18. s1.push(s2.top());
  19. s2.pop();
  20. }
  21. }
  22. int deQueue()
  23. {
  24. if (s1.empty())
  25. {
  26. cout << "Q is Empty";
  27. exit(0);
  28. }
  29. int x = s1.top();
  30. s1.pop();
  31. return x;
  32. }
  33. };
  34.  
  35. int main()
  36. {
  37. Queue q;
  38. q.enQueue(1);
  39. q.enQueue(2);
  40. q.enQueue(3);
  41.  
  42. cout << q.deQueue() << '\n';
  43. cout << q.deQueue() << '\n';
  44. cout << q.deQueue() << '\n';
  45.  
  46. return 0;
  47. }
  48.  
Advertisement
Add Comment
Please, Sign In to add comment