一. 栈
-
栈的定义
栈(Stack)是一种只能在一端进行插入或删除操作的线性表。
图一 栈的示意图 -
顺序栈的基本操作
初始化void InitStack(Stack *S){ //初始化顺序栈即使栈顶指针为-1 S->Top = -1; }
栈判空
int StackEmpty(Stack *S) { //栈判空函数 if(S->Top == -1) //栈空 return 1; else //非空 return 0; }
进栈
int Push(Stack *S, int e){ //进栈函数 if(S->Top == StackMaxSize-1)//栈满 return ERROR; else{ S->Data[++(S->Top)] = e; //栈顶指针加一,存储元素 return OK; } }
出栈
int Pop(Stack *S, int *e){ //出栈并将元素传给e if(S-