山东理工大学:《数据结构》课程教学课件(数学)CH3 栈和队列

0202828 第三章栈和队列
10/20/2023

10/20/2023 栈和队列是两种特殊的线性表,是操作受限 的线性表,称限定性DS。 线性表 栈 队列 Insert(L,i,x) Insert(S,n+1,x) Insert(Q,n+l,x) Isisn+1 Delete(L,i) Delete(S,n) Delete(Q,1) 1<i<n 通常称,栈和队列是限定插入和删除 只能在表的端点进行的线性表
通常称,栈和队列是限定插入和删除 只能在表的“端点”进行的线性表。 线性表 栈 队列 Insert(L, i, x) Insert(S, n+1, x) Insert(Q, n+1, x) 1≤i≤n+1 Delete(L, i) Delete(S, n) Delete(Q, 1) 1≤i≤n 栈和队列是两种特殊的线性表,是操作受限 的线性表,称限定性DS。 10/20/2023

10/20/2023 3.1栈的类型定义 3.2栈类型的实现 3.3栈的应用举例 3.4队列的类型定义 3.5队列类型的实现 练习
3.3 栈的应用举例 3.1 栈的类型定义 3.2 栈类型的实现 3.4 队列的类型定义 3.5 队列类型的实现 练习 10/20/2023

10/20/2023 3.1栈的类型定义 ·栈的定义和特点 ·定义:限定仅在表尾进行插入或删除操作的线 性表,表尾一栈顶,表头一栈底,不含 元素的空表称空栈。 •特点:先进后出 (FIL0)或后进先出(LIF0) 进栈 出栈 栈顶一 an 栈s=(al,a2,.,an) a2 栈底 a1
• 栈的定义和特点 •定义:限定仅在表尾进行插入或删除操作的线 性表,表尾—栈顶,表头—栈底,不含 元素的空表称空栈。 •特点:先进后出(FILO)或后进先出(LIFO) an a1 a2 . . 栈底 栈顶 . 进栈 . 出栈 栈s=(a1,a2,.,an) 3.1 栈的类型定义 10/20/2023

10/20/2023 •栈的抽象数据类型定义 ADT Stack{ 数据对象: D={a|a,∈ElemSet,.i=l,2,n,n≥0} 数据关系: R1={la-1,a,D,i=2,n} 约定a端为栈顶,a端为栈底。 基本操作: ADT Stack
ADT Stack { 数据对象: D={ ai | ai ∈ElemSet, i=1,2,.,n, n≥0 } 数据关系: R1={ | ai-1, ai∈D, i=2,.,n } 约定an 端为栈顶,a1 端为栈底。 基本操作: } ADT Stack •栈的抽象数据类型定义 10/20/2023

10/20/2023 InitStack(&S) DestroyStack(&S) StackLength(S) StackEmpty(s) GetTop(S,&e) ClearStack(&S) Push(&S,e) Pop(&S,&e) StackTravers(S,visitO)
InitStack(&S) DestroyStack(&S) ClearStack(&S) StackEmpty(s) StackLength(S) GetTop(S, &e) Push(&S, e) Pop(&S, &e) StackTravers(S, visit()) 10/20/2023

10/20/2023 InitStack(&S) 操作结果:构造一个空栈S。 DestroyStack(&S) 初始条件:栈S已存在。 操作结果:栈S被销毁
InitStack(&S) 操作结果:构造一个空栈 S。 DestroyStack(&S) 初始条件:栈 S 已存在。 操作结果:栈 S 被销毁。 10/20/2023

10/20/2023 StackEmpty(S) 初始条件:栈S已存在。 操作结果:若栈S为空栈, 则返回TRUE,否则FALE
StackEmpty(S) 初始条件:栈 S 已存在。 操作结果:若栈 S 为空栈, 则返回 TRUE,否则 FALE。 10/20/2023

10/20/2023 StackLength(S) 初始条件:栈S已存在。 操作结果:返回S的元素个 数,即栈的长度
StackLength(S) 初始条件:栈 S 已存在。 操作结果:返回 S 的元素个 数,即栈的长度。 10/20/2023

10/20/2023 GetTop(S,&e) 初始条件:栈S已存在且非空。 操作结果:用e返回S的栈顶元素。 a a2
GetTop(S, &e) 初始条件:栈 S 已存在且非空。 操作结果:用 e 返回 S 的栈顶元素。 a1 a2 a . . n 10/20/2023
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 山东理工大学:《数据结构》课程教学课件(数学)CH4 串.ppt
- 山东理工大学:《数据结构》课程教学课件(数学)CH5 数组和广义表.ppt
- 山东理工大学:《数据结构》课程教学课件(数学)CH6 树和二叉树.ppt
- 山东理工大学:《数据结构》课程教学课件(数学)CH7 图.pdf
- 山东理工大学:《数据结构》课程教学课件(数学)CH9 查找表.pdf
- 山东理工大学:《数据结构》课程教学课件(数学)CH10 排序.pdf
- 清华大学:《土木工程CAD技术基础》课程教学课件(讲稿)工程计算机制图——工程制图基础.pdf
- 清华大学:《土木工程CAD技术基础》课程教学课件(讲稿)计算机图形技术.pdf
- 清华大学:《土木工程CAD技术基础》课程教学课件(讲稿)AutoCAD图形系统的应用和开发.pdf
- 清华大学:《土木工程CAD技术基础》课程教学课件(讲稿)工程计算机制图——建筑施工图.pdf
- 齐齐哈尔大学:《C语言程序设计》课程教学课件(PPT讲稿)第9单元 文件.pptx
- 齐齐哈尔大学:《C语言程序设计》课程教学课件(PPT讲稿)位运算.pptx
- 齐齐哈尔大学:《C语言程序设计》课程教学课件(PPT讲稿)第8单元 结构体与共用体.pptx
- 齐齐哈尔大学:《C语言程序设计》课程教学课件(PPT讲稿)编译预处理.pptx
- 齐齐哈尔大学:《C语言程序设计》课程教学课件(PPT讲稿)第7单元 指针.pptx
- 齐齐哈尔大学:《C语言程序设计》课程教学课件(PPT讲稿)第6单元 函数.pptx
- 齐齐哈尔大学:《C语言程序设计》课程教学课件(PPT讲稿)第5单元 数组.pptx
- 齐齐哈尔大学:《C语言程序设计》课程教学课件(PPT讲稿)第4单元 循环结构程序设计.pptx
- 齐齐哈尔大学:《C语言程序设计》课程教学课件(PPT讲稿)第3单元 选择结构程序设计.pptx
- 齐齐哈尔大学:《C语言程序设计》课程教学课件(PPT讲稿)第2单元 顺序结构程序设计.pptx
- 山东理工大学:《数据结构》课程教学课件(数学)CH2 线性表.ppt
- 山东理工大学:《数据结构》课程教学课件(数学)CH1 绪论(主讲:殷超).ppt
- 《计算机应用基础》课程教学资源(PPT课件讲稿)第一章 计算机组成概述.ppt
- 《计算机应用基础》课程教学资源(PPT课件讲稿)HTML网页设计基础.ppt
- 《计算机应用基础》课程教学资源(PPT课件讲稿)PHP网页程序设计.ppt
- 《计算机应用基础》课程教学资源(PPT课件讲稿)第二章 Linux操作系统.ppt
- 山东理工大学:《数据结构》课程教学资源(数据结构自编习题集).doc
- 《数据结构》课程教学资源(参考资料)数据结构实验指导书.doc
- 《数据结构》课程教学资源(参考资料)线索二叉树提高.ppt
- 《数据结构》课程教学资源(参考资料)数据结构学习方法.doc
- 清华大学出版社:《数据结构基础》课程教材书籍PDF电子书(C语言版,第2版,Ellis Horowitz Sartaj Sahni 著,Susan Anderson-Freed 朱仲涛 译).pdf
- 内蒙古科技大学:《JSP编程》课程教学大纲 JSP programming.doc
- 内蒙古科技大学:《Java编程》课程教学大纲 Java Programming.doc
- 内蒙古科技大学:《JSP编程》课程教学资源(授课教案)第七章 MVC模式.doc
- 内蒙古科技大学:《JSP编程》课程教学资源(授课教案)第六章 Servlet技术.doc
- 内蒙古科技大学:《JSP编程》课程教学资源(授课教案)第四章 JavaBean.doc
- 内蒙古科技大学:《JSP编程》课程教学资源(授课教案)第二章 JSP语法.doc
- 内蒙古科技大学:《JSP编程》课程教学资源(授课教案)第三章 JSP内置对象.doc
- 内蒙古科技大学:《Java编程》课程教学资源(授课教案)第十一章 网络编程.doc
- 内蒙古科技大学:《JSP编程》课程教学资源(授课教案)第一章 JSP简介.doc