/**
* 栈--顺序存储
**/
#include <stdlib.h>
#include <iostream.h>
#define OK 1
#define ERROR 0
//栈的最大数据元素数目
#define MAX_STACK 10
typedef struct stack{
int item[MAX_STACK];
//存放栈中数据元素的存储单元
int top;//栈顶指针
}STACK;
//初始化栈S
void InItStack(STACK *S)
{
S->top=-1;
}
//入栈
void Push(STACK *S,int item)
{
if (S->top==MAX_STACK-1) exit(0);
else S->item[++S->top]=item;
}
//判断栈S是否为空
int StackEmpty(STACK S)
{
if(S.top==-1) return 1;
else 0;
}
//出栈
void Pop(STACK *S,int *item)
{
if (StackEmpty(*S)) exit(0);
else *item=S->item[S->top--];
}
//获取栈顶元素内容
void GetTop(STACK S,int *item)
{
if (StackEmpty(S)) exit(0);
else *item=S.item[S.top];
}