数据结构-栈(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;
    }
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » 数据结构-栈(2)