赞
踩
- #include <iostream>
- #define maxSize 100
-
- using namespace std;
-
- //顺序栈定义
- typedef struct{
- int data[maxSize];
- int top;
- }SqStack;
-
- //初始化栈,将栈顶指针设为-1
- void initStack(SqStack &st)
- {
- st.top = -1;
- }
-
- //判断栈是否为空
- int isEmpty(SqStack &st)
- {
- if (st.top == -1)
- return 1;
- else
- return 0;
- }
-
- //进栈代码
- int push(SqStack &st, int x)
- {
- if (st.top == maxSize - 1)
- return 0;
- ++(st.top);//先移动指针,在进栈
- st.data[st.top] = x;
- return 1;
- }
-
- //出栈代码
- int pop(SqStack &st, int &x)
- {
- if (st.top == -1)
- return 0;
- x = st.data[st.top];
- --(st.top);
- return 1;
- }
-
- int main()
- {
- SqStack st;
- initStack(st);
- //初始化
- cout << "栈初始化:" << st.top << endl;
- //入栈
- int p1 = push(st, 1);
- int p2 = push(st, 3);
- cout << p1 << "\t" << p2 << endl;
- //出栈
- int x1, x2;
- pop(st, x1);
- pop(st, x2);
- cout << x1 << "\t" << x2 << endl;
- //判断栈是否为空
- int im = isEmpty(st);
- if (im == 1)
- cout << "栈中有元素";
- else
- cout << "栈空";
- cout << endl;
- return 0;
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。