Advertisement
Jakubowiczish

Untitled

Mar 14th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.83 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. const int MAX = 100;
  5.  
  6. struct Stack{
  7. int t[MAX];
  8. int size;
  9. );
  10.  
  11. void init(Stack &st)
  12. {
  13. st.size = 0;
  14. }
  15. void push(Stack &st, int el)
  16. {
  17. st.t[st.size++] = el;
  18. }
  19. int pop(Stack &st)
  20. {
  21. return st.t[--st.size];
  22. }
  23. bool empty(Stack &st)
  24. {
  25. return (st.size == 0);
  26. }
  27.  
  28. struct Queue{
  29. Stack stack1, stack2;
  30. int size;
  31. };
  32.  
  33. void put(Queue qu, int element)
  34. {
  35. push(qu.stack1,element);
  36. }
  37.  
  38. int get(Queue qu)
  39. {
  40. while(qu.stack1.size > 1){
  41. push(qu.stack2,pop(qu.stack1));
  42. }
  43. int ret = pop(qu.stack1);
  44.  
  45. while(!empty(qu.stack2)){
  46. push(qu.stack1,pop(qu.stack2));
  47. }
  48. return ret;
  49. }
  50.  
  51. int main()
  52. {
  53. Queue q;
  54. for(int i = 0; i < 20; i++){
  55. put(q,i);
  56. cout << get(q) << endl;
  57. }
  58. return 0;
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement