1. 结构体定义
#define MAXSIZE 10
typedef struct {
int data[MAXSIZE];
int top;
}SqStack;
2. 初始化
void SqStackInit(SqStack *ss)
{
ss->top = -1;
}
3. 判空
int SqStackEmpty(SqStack *ss)
{
if(ss->top == -1)
return 1;
else
return -1;
}
4. 压入元素
int SqStackPush(SqStack *ss, int e)
{
if(ss->top == MAXSIZE - 1)
return -1;
ss->data[++ss->top] = e;
return 1;
}
5. 弹出元素
int SqStackPop(SqStack *ss, int *e)
{
if(SqStackEmpty(ss) > 0)
return -1;
*e = ss->data[ss->top--];
return 1;
}
6. 读栈顶元素
int SqStackTop(SqStack *ss, int *e)
{
if(SqStackEmpty(ss) > 0)
return -1;
*e = ss->data[ss->top];
return 1;
}