www.3365.cpm

确定序列堆栈已满的条件

全部展开
矩阵下标,指示顺序堆栈从0开始,空堆栈条件为top ==-1,满堆栈条件为top == maxsize-1。如果以1开头,则顶部== 1表示电池已耗尽,顶部== maxsize表示电池已满。
堆栈中的元素按顺序存储在一维矩阵中。
下标的较小端用作堆栈的底部。
使用一个变量来记录堆栈的顶部位置,称为“顶部指针”。
扩展数据:堆栈的顺序存储结构是使用由其在内存中的初始位置确定的连续存储区域将所有元素存储在堆栈中。另外,还需要顶部堆栈指示器的top变量来指示堆栈顶部的确切位置,顺序存储结构的堆栈称为堆栈序列。
[MAXSIZE]数组数据用作堆栈存储空间。其中MAX-SIZE是预设常数。这是允许的最大节点数,即堆栈的容量。
最初,电池是空的,顶部为零。
如果top不等于0,则数据[0]是堆栈的底部元素,并且是当前堆栈中最长的元素。
数据[top-1]是插入堆栈的最后一个元素,并且是堆栈的顶部元素。
如果top == MAXSIZE,则表明电池已充满。如果此时按下另一个节点,将发生称为“溢出”的错误(语法上表示为“矩阵超出范围”),并且当top == 0时将执行弹出操作。,发生称为“下溢”的错误。
当堆栈容量为6时,电池,弹出操作和空电池,充满电的电池以及另一种常见电池状态。
由于顺序存储结构主要使用一维数组存储堆栈,因此必须特别注意“堆栈溢出”错误的发生。在执行插入操作时,它首先确定堆栈是否已满(stackfull),如果堆栈已满,则会按时处理它。
参考资料来源:百度百科-序列栈


相关推荐