栈的基本操作如下:
- 相关结构体:
typedef int status;
typedef struct
{
SElemType *base; //在栈创建之前和销毁之后,base的值为NULL
SElemType *top; //栈顶指针
int stacksize; //当前已分配的储存空间,以元素为单位
}SqStack;
- 相关宏定义:
# define STACK_INIT_SIZE 100
# define STACKINCREMENT 10
# define OK 1
# define ERROR
- 相关函数声明:
Status InitStack(SqStack &S); /*构造一个空栈S*/
Status DestoryStack(SqStack &S); /*销毁栈S,S不再存在*/
Status ClearStack(SqStack &S); /*把栈S置为空栈*/
Status StackLength(SqStack S); /*返回栈S的元素个数,即栈长*/
Status GetTop(SqStack S,SElemType &e);/*若栈不为空,则用e返回S的栈顶元素,成功则返回OK,否则返回ERROR*/