#include <stdio.h>
//声明一个栈 节点
#define STACK_SIZE 100
typedef struct Node
{
int top;//栈顶
int array[STACK_SIZE];//容量
}Stack;
Stack s;//定义了一个栈类型
//声明几个函数
//初始化一个栈
int initStack(void);
//判断是不是空栈
int isEmpty(void);
//压栈 入栈
int pushStack(int num);
//谈栈 出栈
int popStack(void);
//菜单
void menu(void);
//函数实现
int popStack(void)
{
s.top--;
return s.array[s.top+1];//返回该元素的值
}
int pushStack(int num)
{
//把一个数据存储到栈中
s.top++;
s.array[s.top] = num;
return s.top;
}
int initStack(void)
{
s.top = 0;//栈顶置成0 表示空栈
return 1;
}
int isEmpty(void)
{
//判断s.top 是不是0 是0为空
if(s.top == 0)
return 1;//真
else
return 0;//假
}
int main(int argc, const char * argv[])
{
//初始化一下栈
int temp = 0;//保存取出来的值
initStack();
int a = isEmpty();
if(a)
{
printf("是空栈!\n");
//入栈 存储数据
for(int i = 0;i < 10;i++)
{
//使用pushSrtack入栈操作
pushStack(i);
}
}
//取值
for(int j=0;j<10;j++)
{
temp = popStack();
printf("%d\n",temp);
}
return 0;
}