983-数据结构
数据结构 第3章 栈和队列 第3章 栈和队列 3.1 栈 3.2 栈的应用举例 3.3 栈与递归的实现 3.4 队列 3.5 离散事件模拟 第3章 栈和队列 栈和队列都是限制存取点的线性表。 3.1 栈 3.1 栈 3.2 栈的应用举例 3.3 栈与递归的实现 3.4 队列 3.5 离散事件模拟 3.1 栈 栈(Stack) 后进先出LIFO: Last In, First Out. 限制插入和删除操作只能在一端进行的线性表。 Notation: 插入: PUSH,称为入栈 删除: POP,称为出栈 可访问元素称为栈顶元素 TOP. 3.1 栈的类型定义 ADT Stack { 数据对象: D={ ai | ai ∈ElemSet, i=1,2,...,n, n≥0 } 数据关系: R1={ ai-1, ai | ai-1, ai∈D, i=2,...,n } 约定an 端为栈顶,a1 端为栈底。 基本操作:…… } ADT Stack 3.1 栈的类型定义 基本操作:…… InitStack(S) 操作结果:构造一个空栈 S。 DestroyStack(S) 初始条件:栈 S 已存在。 操作结果:栈 S 被销毁。 3.1 栈的类型定义 基本操作:…… StackEmpty(S)初始条件:栈 S 已存在。操作结果:若栈 S 为空栈,则返回 TRUE,否则 FALSE。 3.1 栈的类型定义 基本操作:…… StackLength(S)初始条件:栈 S 已存在。操作结果:返回 S 的元素个数,即栈的长度。 3.1 栈的类型定义 基本操作:…… GetTop(S, e)初始条件:栈 S 已存在且非空。操作结果:用 e 返回 S 的栈顶元素。 3.1 栈的类型定义 基本操作:…… ClearStack(S)初始条件:栈 S 已存在。操作结果:将 S 清为空栈。 3.1 栈的类型定义 基本操作:…… Push(S, e)初始条件:栈 S 已存在。操作结果:插入元素 e 为新的栈顶元素。 3.1 栈的类型定义 基本操作:…… Pop(S, e) 初始条件:栈 S 已存在且非空。 操作结果:删除 S 的栈顶元素,并用 e 返回其值。 3.1 栈的类型定义 基本操作:…… InitStack(S) DestroyStack(S) StackLength(S) StackEmpty(s) GetTop(S, e) ClearStack(S) Push(S, e) Pop(S, e) StackTraverse(S, visit()) 3.1 栈的类型定义 C++ STL Container 头文件 #include stack STL中的栈是一个模板类,template class T, class Container = dequeT class stack; 其中: * T: Type of the elements. * Container: Type of the underlying container object used to store and access the elements. 3.1 栈的类型定义 C++ STL Container 常用成员函数: (constructor) Construct stack (public member function) empty Test whether container is empty (public member function) size Return size (public member function) top Access next element (public member function) push Add element (public member function) Pop Remove element (public member function) 3.1 栈的类型定义 栈的实现: 顺序栈 链栈 3.1 栈的类型定义 栈的实现: 顺序栈 // Array-based stack implementation int size; // Maximum size of stack int top; // Index for top element Elem *listArray; // Array holding elements 问题: 那一端适宜作为栈顶top? 栈顶 “top” 具体应该指向哪个值(栈中的值还是栈外的值)? 操
您可能关注的文档
最近下载
- DHG9070A型电热鼓风干燥箱说明书.pdf VIP
- 【老照片】1966年-1967年的彩色中国.docx VIP
- 蒙特利尔认知评估量表.doc VIP
- 解放前后大不同.连环画.1950年.pdf VIP
- 2026年济南工程职业技术学院单招《数学》题库含完整答案详解【考点梳理】.docx VIP
- 1949--1989年国产老电影目录.doc VIP
- 1949--166年国产老电影目录.doc VIP
- 简易精神状态检查量表(-MMSE).doc VIP
- LNG-CNG-LPG(液化石油气、液化天然气、压缩天然气)汽车、罐车事故处置.pptx VIP
- 简易精神状态检查量表(MMSE).docx VIP
原创力文档

文档评论(0)