数据结构-栈(2)
栈的顺序存储结构及实现
栈的顺序存储结构
下标为0 的一端作为栈底比较好,首元素都存在栈底,变化最小,所以作为栈底。
若存储栈的长度为StackSize,则栈顶位置top必须小于StackSize。
当栈存在一个元素时,栈顶top等于0,因此通常把空栈的判定条件定为top等于-1。
假如一个栈的StackSize是5,
空栈时 top = -1
栈中有两个元素 top = 1
栈满 栈中有五个元素 top =4
栈的顺序存储结构-进栈操作
进栈操作push如下:
Status Push(SqStack *S, SElemType e){ //栈满 if(S->top == MAXSIZE=1){ return ERROR; } //栈顶指针加一 S->top++; //将新插入元素赋值给栈顶空间 S->data[S->top]=e; return ok; }