《数据结构》课程教学资源:第三章 栈和队列

数据结构
数据结构

第三章栈和队列 31栈 311抽象数据类型栈的定义 312栈的表示和实现 3.2栈的应用举例 321数制转换 3.2.2括号匹配的检验 3.2.3行编辑程序 3.2.4迷宫求解 325表达式求值
第三章 栈和队列 3.1 栈 3.1.1 抽象数据类型栈的定义 3.1.2 栈的表示和实现 3.2 栈的应用举例 3.2.1 数制转换 3.2.2 括号匹配的检验 3.2.3 行编辑程序 3.2.4 迷宫求解 3.2.5 表达式求值

33栈与递归的实现 34队列 341抽象数据类型队列的定义 342链队列—队列的链式表示和实现 34.3循环队列—队列的顺序表示和实现 3.5离散事件模拟
3.3 栈与递归的实现 3.4 队列 3.4.1 抽象数据类型队列的定义 3.4.2 链队列——队列的链式表示和实现 3.4.3 循环队列——队列的顺序表示和实现 3.5 离散事件模拟

3.1.1 栈 311栈的定义及基本运算 栈Sac是限制在表的一端进行插入和删除 运算的线性表,通常称插入、删除的这一端 为栈顶p),另一端为栈底 Bottom)当表 中没有元素时称为空栈。 假设栈S=(a1,a2,a3…,a,则a1称为栈底 元素,a为栈顶元素。栈中元素按a1,a2 an的次序进栈,退栈的第一个元素应为 栈顶元素。换句话说,栈的修改是按后进先 出的原则进行的。因此,栈称为后进先出表 (ⅠIFO)
3.1.1 栈 3.1.1 栈的定义及基本运算 栈(Stack)是限制在表的一端进行插入和删除 运算的线性表,通常称插入、删除的这一端 为栈顶(Top),另一端为栈底(Bottom)。当表 中没有元素时称为空栈。 假设栈S=(a1,a2,a3,…an ),则a1称为栈底 元素,an为栈顶元素。栈中元素按a1,a2, a3,…an的次序进栈,退栈的第一个元素应为 栈顶元素。换句话说,栈的修改是按后进先 出的原则进行的。因此,栈称为后进先出表 (LIFO)

3.12顺序栈 由于栈是运算受限的线性表,因此线性 表的存储结构对栈也适应。 栈的顺序存储结构简称为顺序栈,它是 运算受限的线性表。因此,可用数组来实 现顺序栈。因为栈底位置是固定不变的 所以可以将栈底位置设置在数组的两端的 任何一个端点;栈顶位置是随着进栈和退 栈操作而变化的,故需用一个整型变量top 来表示
3.1.2 顺序栈 由于栈是运算受限的线性表,因此线性 表的存储结构对栈也适应。 栈的顺序存储结构简称为顺序栈,它是 运算受限的线性表。因此,可用数组来实 现顺序栈。因为栈底位置是固定不变的, 所以可以将栈底位置设置在数组的两端的 任何一个端点;栈顶位置是随着进栈和退 栈操作而变化的,故需用一个整型变量top 来表示

例、一叠书或一叠盘子。 栈的抽象数据类型的定义如下:P5 栈顶 栈底
例、一叠书或一叠盘子。 栈的抽象数据类型的定义如下:P45 a n a n-1 a2 a1 …… 栈顶 栈底

7654321 top
top 7654321- 1

EDcBA top top 0.9 nase

top用来指示当前栈顶的位置,通常称P为栈顶 指针。顺序栈的类型定义如下 #define stack Init size #define stacKincrement typedef struct( SElemType *base, SElemType *top int stacksize, B SqStack;
top用来指示当前栈顶的位置,通常称top为栈顶 指针。顺序栈的类型定义如下: #define STACK_INIT_SIZE #define STACKINCREMENT typedef struct{ SElemType *base; SElemType *top; int stacksize; }SqStack;

设S是 SqStack类型的指针变量。若栈底 位置在向量的低端,即s->base是栈底元 素,那么栈顶指针s->top是正向增加的, 即进栈时需将S→>top加1,退栈时需将s >top减1。s->top=s=>base表示空栈,s >top-s->base== stacksκe表示栈满。当栈满 时再做进栈运算必定产生空间溢出,简称 “上溢”;当栈空时再做退栈运算也将产生 溢出,简称“下溢”。上溢是一种出错状 态,应该设法避免之;下溢则可能是正常 现象,因为栈在程序中使用时,其初态或 终态都是空栈,所以下溢常常用来作为程 序控制转移的条件
设S是SqStack类型的指针变量。若栈底 位置在向量的低端,即s–>base是栈底元 素,那么栈顶指针s–>top是正向增加的, 即进栈时需将s–>top加1,退栈时需将s– >top 减1。s–>top==s->base表示空栈,s– >top-s->base ==stacksize表示栈满。当栈满 时再做进栈运算必定产生空间溢出,简称 “上溢” ;当栈空时再做退栈运算也将产生 溢出,简称“下溢”。上溢是一种出错状 态,应该设法避免之;下溢则可能是正常 现象,因为栈在程序中使用时,其初态或 终态都是空栈,所以下溢常常用来作为程 序控制转移的条件
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《数据结构》课程教学资源:第七章 图.ppt
- 《数据结构》课程教学资源:第四章 串 4.3串的模式匹配算法 44串操作应用举例.ppt
- 《数据结构》课程教学资源:期末复习.ppt
- 《MATLAB》课程教材电子教案(PPT课件讲稿)第9章 MATLAB符号计算.ppt
- 《MATLAB》课程教材电子教案(PPT课件讲稿)第8章 MATLAB数值积分与微分.ppt
- 《MATLAB》课程教材电子教案(PPT课件讲稿)第7章 MATLAB解方程与函数极值.ppt
- 《MATLAB》课程教材电子教案(PPT课件讲稿)第6章 MATLAB数据分析与多项式计算.ppt
- 《MATLAB》课程教材电子教案(PPT课件讲稿)第5章 MATLAB绘图.ppt
- 《MATLAB》课程教材电子教案(PPT课件讲稿)第4章 MATLAB文件操作.ppt
- 《MATLAB》课程教材电子教案(PPT课件讲稿)第3章 MATLAB程序设计.ppt
- 《MATLAB》课程教材电子教案(PPT课件讲稿)第2章 MATLAB矩阵及其运算.ppt
- 《MATLAB》课程教材电子教案(PPT课件讲稿)第1章 MATLAB操作基础.ppt
- 《MATLAB》课程教材电子教案(PPT课件讲稿)第13章 在Word环境下使用MATLAB.ppt
- 《MATLAB》课程教材电子教案(PPT课件讲稿)第12章 Simulink动态仿真集成环境.ppt
- 《MATLAB》课程教材电子教案(PPT课件讲稿)第11章 MATLAB图形用户界面设计.ppt
- 《MATLAB》课程教材电子教案(PPT课件讲稿)第10章 MATLAB图形句柄.ppt
- 《C语言程序设计》课程教学资源:习题二.doc
- 《C语言程序设计》课程教学资源:习题一.doc
- 《大学计算机基础》课程教学资源(PPT课件讲稿)第六课 计算机网络基础及应用.ppt
- 《大学计算机基础》课程教学资源(PPT课件讲稿)第一课 计算机文化基础概述.ppt
- 《数据结构》课程教学资源:第九章 查找.ppt
- 《数据结构》课程教学资源:第五章 数组和广义表.ppt
- 《数据结构》课程教学资源:第一章 绪论.ppt
- 人民邮电出版社:高等学校计算机专业教材《80x86汇编语言程序设计》课程电子教案(PPT课件讲稿)第1章 基础知识.ppt
- 人民邮电出版社:高等学校计算机专业教材《80x86汇编语言程序设计》课程电子教案(PPT课件讲稿)第2章 80x86计算机系统组织.ppt
- 人民邮电出版社:高等学校计算机专业教材《80x86汇编语言程序设计》课程电子教案(PPT课件讲稿)第3章 80x86指令系统.ppt
- 人民邮电出版社:高等学校计算机专业教材《80x86汇编语言程序设计》课程电子教案(PPT课件讲稿)第4章 汇编语言程序格式.ppt
- 人民邮电出版社:高等学校计算机专业教材《80x86汇编语言程序设计》课程电子教案(PPT课件讲稿)第5章 基本控制结构.ppt
- 人民邮电出版社:高等学校计算机专业教材《80x86汇编语言程序设计》课程电子教案(PPT课件讲稿)第6章 过程.ppt
- 人民邮电出版社:高等学校计算机专业教材《80x86汇编语言程序设计》课程电子教案(PPT课件讲稿)第7章 汇编语言的扩展.ppt
- 人民邮电出版社:高等学校计算机专业教材《80x86汇编语言程序设计》课程电子教案(PPT课件讲稿)第8章 输入/输出与中断.ppt
- 人民邮电出版社:高等学校计算机专业教材《80x86汇编语言程序设计》课程电子教案(PPT课件讲稿)目录.ppt
- 《大学计算机基础教程》课程教学资源(PPT课件)第5章 MCS - 51单片机的中断.ppt
- 《大学计算机基础教程》课程教学资源(PPT课件)第6章 MCS - 51单片机内部定时器/计数器及串行接口.ppt
- 《大学计算机基础教程》课程教学资源(PPT课件)第1章 微型计算机基础.ppt
- 《大学计算机基础教程》课程教学资源(PPT课件)第2章 单片机的硬件结构和原理.ppt
- 《大学计算机基础教程》课程教学资源(PPT课件)第3章 MCS - 51单片机指令系统.ppt
- 《大学计算机基础教程》课程教学资源(PPT课件)第4章 汇编语言程序设计简介.ppt
- 《大学计算机基础教程》课程教学资源(PPT课件)第7章 单片机系统扩展与接口技术.ppt
- 《网络信息对抗》课程教学资源(PPT课件讲稿)第三章 安全性分析与风险评估 3.1 安全漏洞概述 3.2 微软操作系统安全性分析.ppt