- 4
- 0
- 约4.13千字
- 约 38页
- 2023-06-18 发布于广东
- 举报
第一页,共三十八页,2022年,8月28日 4.1堆栈的概念及其运算 堆栈的逻辑结构 堆栈:限定仅在表尾进行插入和删除操作的线性表。 空栈:不含任何数据元素的栈。 允许插入和删除的一端称为栈顶,另一端称为栈底。 (a1, a2, ……, an) 栈顶 栈底 第二页,共三十八页,2022年,8月28日 a b c 入栈 出栈 栈底 栈顶 插入:入栈、进栈、压栈 删除:出栈、弹栈 栈顶 栈顶 栈的示意图 4.1堆栈的概念及其运算 栈的操作特性:后进先出 第三页,共三十八页,2022年,8月28日 4.1堆栈的概念及其运算 例:有三个元素按a、b、c的次序依次进栈,且每个元素只允许进一次栈,则可能的出栈序列有多少种? 栈底 栈顶 a b 栈顶 c 栈顶 情况1: 出栈序列:c 出栈序列:c、b 出栈序列:c、b、a 第四页,共三十八页,2022年,8月28日 例:有三个元素按a、b、c的次序依次进栈,且每个元素只允许进一次栈,则可能的出栈序列有多少种? 栈底 栈顶 a b 栈顶 情况2: 出栈序列:b 4.1堆栈的概念及其运算 第五页,共三十八页,2022年,8月28日 栈底 a 出栈序列:b 出栈序列:b、c 出栈序列: b、 c、a c 栈顶 栈顶 注意:栈只是对表插入和删除操作的位置进行了限制,并没有限定插入和删除操作进行的时间。 情况2: 例:有三个元素按a、b、c的次序依次进栈,且每个元素只允许进一次栈,则可能的出栈序列有多少种? 4.1堆栈的概念及其运算 第六页,共三十八页,2022年,8月28日 堆栈的操作 Push(S,x) Pop(S) Empty(S) Top(S) Create(S) 4.1堆栈的概念及其运算 第七页,共三十八页,2022年,8月28日 如何改造数组实现栈的顺序存储? 0 1 2 3 4 5 6 7 8 a1 确定用数组的哪一端表示栈底。 附设指针top指示栈顶元素在数组中的位置。 top 4.2堆栈的顺序存储结构 第八页,共三十八页,2022年,8月28日 出栈:top减1 进栈:top加1 栈空:top= -1 0 1 2 3 4 5 6 7 8 a1 top a2 top a3 top 栈满:top= MAX_SIZE 4.2堆栈的顺序存储结构 第九页,共三十八页,2022年,8月28日 堆栈是否为空测试算法p70 进栈算法p71 退栈算法 4.2堆栈的顺序存储结构 第十页,共三十八页,2022年,8月28日 解决方案1: 直接解决:为每个栈开辟一个数组空间。 解决方案2: 顺序栈单向延伸——使用一个数组来存储两个栈 在一个程序中需要同时使用具有相同数据类型的两个栈,如何顺序存储这两个栈? 会出现什么问题?如何解决? 4.2堆栈的顺序存储结构 第十一页,共三十八页,2022年,8月28日 两栈共享空间:使用一个数组来存储两个栈,让一个栈的栈底为该数组的始端,另一个栈的栈底为该数组的末端,两个栈从各自的端点向中间延伸。 4.2堆栈的顺序存储结构 第十二页,共三十八页,2022年,8月28日 栈1的底固定在下标为0的一端; 栈2的底固定在下标为MaxSize-1的一端。 top1和top2分别为栈1和栈2的栈顶指针; MaxSize为整个数组空间的大小(图中用S表示); a1 a2 … ai top1 0 1 2 … … S-1 top2 bj … … b2 b1 栈1底 栈2底 4.2堆栈的顺序存储结构 第十三页,共三十八页,2022年,8月28日 top1= -1 什么时候栈1为空? a1 a2 … ai top1 0 1 2 … … S-1 top2 bj … … b2 b1 top1 4.2堆栈的顺序存储结构 第十四页,共三十八页,2022年,8月28日 top1= -1 什么时候栈1为空? a1 a2 … ai top1 0 1 2 … …
您可能关注的文档
- 坐标变换与参数方程.ppt
- 无失真信源编码定理.ppt
- 散装液体危险货物申报员培训讲义.ppt
- 植物的矿质营养文.ppt
- 提高主存读写速度.ppt
- 如何做好防静电.ppt
- 微波与等离子体.ppt
- 微粒间的相互作用离子键.ppt
- 图像及其数字处理.ppt
- 员工离职原因分析.ppt
- (正式版)DB51∕T 1867-2014 《袋栽黑木耳生产技术规程》.docx
- (正式版)DB51∕T 2413-2023 《油橄榄密植丰产栽培技术规程》.docx
- (正式版)DB51∕T 2436-2017 《川菜东坡一品肉烹饪工艺技术规范》.docx
- (正式版)DB51∕T 2396-2017 《农村电子商务服务站(点)服务与管理规范》.docx
- (正式版)DB51∕T 2419-2017 《桢楠扦插育苗技术规程》.docx
- CN105145773B 一种无花果曲奇饼干及其制作方法 (江苏农林职业技术学院).docx
- CN105203825A 微测量电极的制作方法和热电势的测量方法及相关装置 (国家纳米科学中心).docx
- CN105137533B 一种啁啾光纤光栅及其制作方法 (南京航空航天大学).docx
- (正式版)DB51∕T 2453-2018 《巴山新居公共管理指南》.docx
- (正式版)DB51∕T 1892-2014 《川西北地区沙化土地治理技术规程》.docx
原创力文档

文档评论(0)