C语言实现栈的操作,压栈出栈(代码详细讲解)
C语言实现栈的操作,压栈出栈(代码详细讲解)
1、栈的顺序存储结构:
其结构定义如下:
typedef int SElemType;
typedef struct{ //栈的结构定义
SElemType data[MAXSIZE];
int top; //用于栈顶指针
}SqStack;
假设现在有一个栈,StackSize 是5,则栈普通情况、空栈和满栈的情况示意图如图:
1.2栈的顺序存储结构-进栈操作
插入元素e为新的栈顶元素
1.2栈的顺序存储结构-出栈操作
Status Pop(SqStack *S, SElemType *e){ //传入栈的地址和弹出元素保存变量e
if (S -> top == -1)
return false;
*e = S -> data[S -> top]; //将要删除的栈顶元素赋值给e
S -> top--; //栈顶指针减一
ret