下面就实现顺序栈的几个基本操作,包括判空、入栈、出栈、取栈顶元素、清空栈、销毁栈等。
//顺序栈的类型定义如下
typedef struct{
ElemType *elem; //存储空间的基址
int top; //栈顶位标
int size; //当前分配的存储容量
int increment; //扩容时,增加的存储容量
} SqStack; //顺序栈
//初始化顺序栈
Status InitStack_Sq(SqStack &S, int size, int inc) {
S.elem = (ElemType*)malloc(size*sizeof(ElemType));//分配空间
if(NULL == S.elem) return ERROR;
S.top = 0