一 定义结构体
typedef struct
{
int data[MAX_SIZE];
int top;
}sqstack;
二 栈置空
int initstack(sqstack *s)
{
s->top=-1;
return 1;
}
三 入栈操作
int push(sqstack *s,int e)
{
if(s->top == MAX_SIZE-1)
{
return 0;
}
s->top++;
s->data[s->top]=e;
return 1;
}
四 遍历输出栈数据
int visit(int c)
{
printf("%d",c);
printf(" ");
return 1;
}
int stackprint(sqstack s)
{
int i =0;
while(i <=s.top)
{
visit(s.data[i++]);
}
return 1;
}
五 删除栈顶元素
int pop(sqstack *s, int *e)
{
if(s->top == -1)
{
return 0;
}
*e=s->data[s->top];
s->top--;
return 1;
}
六 返回栈长度
int stacklength(sqstack s)
{
return s.top+1;
}