当前位置:   article > 正文

C++顺序栈实例_顺序栈的主函数c++

顺序栈的主函数c++
  1. #include <iostream>
  2. #define maxSize 100
  3. using namespace std;
  4. //顺序栈定义
  5. typedef struct{
  6. int data[maxSize];
  7. int top;
  8. }SqStack;
  9. //初始化栈,将栈顶指针设为-1
  10. void initStack(SqStack &st)
  11. {
  12. st.top = -1;
  13. }
  14. //判断栈是否为空
  15. int isEmpty(SqStack &st)
  16. {
  17. if (st.top == -1)
  18. return 1;
  19. else
  20. return 0;
  21. }
  22. //进栈代码
  23. int push(SqStack &st, int x)
  24. {
  25. if (st.top == maxSize - 1)
  26. return 0;
  27. ++(st.top);//先移动指针,在进栈
  28. st.data[st.top] = x;
  29. return 1;
  30. }
  31. //出栈代码
  32. int pop(SqStack &st, int &x)
  33. {
  34. if (st.top == -1)
  35. return 0;
  36. x = st.data[st.top];
  37. --(st.top);
  38. return 1;
  39. }
  40. int main()
  41. {
  42. SqStack st;
  43. initStack(st);
  44. //初始化
  45. cout << "栈初始化:" << st.top << endl;
  46. //入栈
  47. int p1 = push(st, 1);
  48. int p2 = push(st, 3);
  49. cout << p1 << "\t" << p2 << endl;
  50. //出栈
  51. int x1, x2;
  52. pop(st, x1);
  53. pop(st, x2);
  54. cout << x1 << "\t" << x2 << endl;
  55. //判断栈是否为空
  56. int im = isEmpty(st);
  57. if (im == 1)
  58. cout << "栈中有元素";
  59. else
  60. cout << "栈空";
  61. cout << endl;
  62. return 0;
  63. }

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/515668
推荐阅读
相关标签
  

闽ICP备14008679号