3
3
、 栈的顺序存储结构
、 栈的顺序存储结构
栈的顺序存储结构是用一片地址连续的存储单元依次存
栈的顺序存储结构是用一片地址连续的存储单元依次存
放栈底到站顶的数据元素,并设置指针指示栈顶位置。这种方
放栈底到站顶的数据元素,并设置指针指示栈顶位置。这种方
式表示的栈称为顺序栈。在
式表示的栈称为顺序栈。在
C
C
语言中,顺序栈也可以采用静态
语言中,顺序栈也可以采用静态
和动态两种不同的方式。
和动态两种不同的方式。
在动态分配方式下,栈空条件为
在动态分配方式下,栈空条件为
s.top==s.base
s.top==s.base
,栈满
,栈满
条件为
条件为
s.top-s.base == maxsize
s.top-s.base == maxsize
。运算时入栈操作首先应检查
。运算时入栈操作首先应检查
栈是否已满。在静态分配方式下,栈满情况下要插入元素则产
栈是否已满。在静态分配方式下,栈满情况下要插入元素则产
生上溢出错误,插入失败;在动态分配方式下,若栈满时要插
生上溢出错误,插入失败;在动态分配方式下,若栈满时要插
入元素,则可向系统申请分配一个存储空间增量
入元素,则可向系统申请分配一个存储空间增量
StackIncreme
StackIncreme
nt
nt
,然后再行插入。
,然后再行插入。