当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

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

资源类别:文库,文档格式:PPT,文档页数:41,文件大小:334KB,团购合买
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 表达式求值
点击下载完整版文档(PPT)

数据结构

数据结构

第三章栈和队列 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表示栈满。当栈满 时再做进栈运算必定产生空间溢出,简称 “上溢” ;当栈空时再做退栈运算也将产生 溢出,简称“下溢”。上溢是一种出错状 态,应该设法避免之;下溢则可能是正常 现象,因为栈在程序中使用时,其初态或 终态都是空栈,所以下溢常常用来作为程 序控制转移的条件

点击下载完整版文档(PPT)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共41页,可试读14页,点击继续阅读 ↓↓
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有