发布网友 发布时间:2023-05-31 15:28
共1个回答
热心网友 时间:2024-12-04 13:15
栈满条件是top==maxsize-1。
顺序栈:使用一组连续的内存依次保存栈中的数据,定义一个top变量来保存栈顶序号。
栈结构是“后进先出”的原则。
栈的最基本操作有两个:push(入栈) + pop(出栈)。
栈空条件是top==-1,栈空表明data中一个数都没有。
栈满条件是top==maxsize-1,由于数组下标从0开始,因此栈空的时候应该为0-1,栈满表明data中数据都占满了,所以应该取数组的最大值,maxsize-1。
扩展资料:
顺序栈元素"入栈":
1、比如,模拟栈存储 {1,2,3,4} 的过程。最初,栈是"空栈",即数组是空的,top 值为初始值 -1。
2、首先向栈中添加元素 1,我们默认数组下标为 0 一端表示栈底,因此,元素 1 被存储在数组 a[1] 处,同时 top 值 +1。
3、采用以上的方式,依次存储元素 2、3 和 4,最终,top 值变为 3。
顺序栈元素"出栈":
将图中的元素 2 出栈,则需要先将元素 4 和元素 3 依次出栈。需要注意的是,当有数据出栈时,要将 top 做 -1 操作。
参考资料来源:百度百科-顺序栈