数据结构C语言版第二版(名师严蔚敏最新力作)人民邮电出版社
2022.3.8 星期三 课堂笔记
第三章 栈和队列
参考教材:数据结构(C语言版)/严蔚敏,李冬梅,吴伟民编
3.1栈和队列的定义和特点
3.1.1 栈的定义和特点
1、定义:仅允许在表尾(栈顶)端进行插入或删除的线性表。
栈顶 top 栈底 base
2、特点:LIFO(FILO)
3、图示
3.1.2 队列的定义和特点
1、定义:只允许在标的一端进行插入,而在另一端删除元素
队尾 rear 对头 front
2、特点:FIFO
3、图示
3.3 栈的表示和操作的实现
3.3.1 栈的类型定义
3.3.2 顺序栈的表示和实现
1、栈空的语句表示 :
2、(1)base始终指向栈底处
(2)top始终指向栈顶元素的上一个位置
3、图示
2022年3月27日 星期一 课堂笔记
3.3.2 顺序栈的表示和实现
1、初始化
S.base=new SElemType[MAXSIZE];
S.top=S.base;
S.stacksize=MAXSIZE;
2、入栈(push)
S.top-S.base==MAXSIZE; //判断栈满
*S.top++=e;
3、出栈
S.top==S.base
e=*--S.top;
4、取栈顶元素
S.top!=S.base
return *(S.top-1);
课堂练习
如果一个栈的输入序列为123456,能否得到435612和135426的出栈序列?
435612 不可以 135426可以
3.3.3 链栈的表示和实现
1、初始化
S=NULL;
return OK;
2、入栈
p=new StackNode; //生成新结点
//将新结点数据域置为e
//将新结点插入栈顶
//修改栈顶指针为p
3、出栈
e=S—>data; //将栈顶元素赋给e
p=S; //用p临时保存栈顶元素空间,以备释放
S=S—>next; //修改栈顶指针
delete p; //释放原栈顶元素的空间
4、取栈顶元素
return S—>data; //返回栈顶元素的值
2022.3.22 星期二 课堂笔记
3.4 栈与递归
3.4.1 采用递归算法解决的问题
1)定义:自己调用自己
2)设置条件:终止条件和递归步骤
3)掌握两个实例 (fact,fib)
3.5 队列的表示和操作的实现
2.队列
1)队列定义:Queue,Q;特点:FIFO
两个重要的指针:front 始终指向队头元素处
rear 始终指向队尾元素的下一个位置
2)队列和栈的区别:两指针指向栈底元素处
栈: base 始终指向栈底元素处
top始终指向栈底元素处
3)判断队列空的语句
Q.rear==Q.front
4)假溢出与真溢出的区别:(出简答题)
假溢出:队列中实际的存储空间,没有占满,但无法进队的情况。
真溢出:队列中实际的存储空间,已经占满,无法进队的情况
5)如何解决假溢出?
利用循环来解决,方法:求模(依环状增1)
6)判断队空和队满
队空:Q.front==Q.rear
队满:(Q.rear+1)%MAXQSIZE==Q.front
数据结构C语言版第二版(名师严蔚敏最新力作)人民邮电出版社相关推荐
- 数据结构C语言版第二版第六章原创总结
数据结构C语言版第二版第六章原创总结 图章节原创总结
- R语言必看推荐:R语言入门经典版(中文版)+R语言实战第二版(中文完整版)
R语言入门经典(中文版)R for beginners R语言经典教材 第二版 适合初学者 作者:Emmanuel Paradis R 语言实战第二版(中文完整版) R语言实战(第2版)注重实用性,是 ...
- C语言程序设计(第二版) 主编:余贞侠 何钰娟 课后习题 代码题答案
C语言程序设计(第二版) 主编:余贞侠 何钰娟 (课后习题 代码题答案) ps.由于没有官方答案,博主将自己写的代码分享出来,若有错误之处请多多谅解,转载注明出处! 版权声明:本文为CSDN博主「Ra ...
- Java数据结构和算法(第二版)
Java数据结构和算法(第二版) 下载地址 https://pan.baidu.com/s/112D5houIgu0eMs_i5o0Ujw 扫码下面二维码关注公众号回复 100066获取分享码 本书目 ...
- 《汇编语言程序设计教程》人民邮电出版社第二版习题及参考答案
网上的答案是第一版的,重新整理了一下 <汇编语言程序设计教程>人民邮电出版社第二版 刘慧婷,王庆生 主编 习题及参考答案 更多汇编内容请访问:omegaxyz.com 第一章至第五章 核对 ...
- c语言人民邮电出版社课后答案,C语言程序设计教程(人民邮电出版社) 课后习题解答6-10...
C语言程序设计教程(人民邮电出版社) 课后习题解答6-10 第6章 ;类和对象(一) 练习题6 6.1 判断题 × 1.使用class定义的类,其默认的访问权限是公有的,使用struct定义的类,其默 ...
- 数据结构c语言版第二版第三章课后答案,数据结构(C语言版)习题集答案第三章.doc...
数据结构(C语言版)习题集答案第三章.doc 习题三3.1 3.10 3.13 3.5 3.6 3.15 3.17 3.19 3.24 3.29 3.31 3.51 给定操作序列P1P2P3PiPn( ...
- 《数据结构与算法》第二版-陈卫卫-陆军工程大学811数据结构教材 第1-2章 参考答案
<数据结构与算法>(第二版)陈卫卫-高等教育出版社 陆军工程大学811数据结构教材 第1-2章 参考答案 习题1.1 1.1-1 (1)名称.数量.特征.性质的 ...
- 数据结构c语言版第二版(严蔚敏)第五章笔记
目录 树和二叉树的定义 树的定义 树的基本术语 二叉树的定义 二叉树的性质和存储结构 二叉树的性质 二叉树的存储结构 顺序存储结构 链式存储结构 遍历二叉树和线索二叉树 遍历二叉树 先序遍历 中序遍历 ...
- 数据结构(c语言版 第二版 严蔚敏)第一张绪论笔记
目录 一,简述 二,数据结构的相关概念 1,什么是数据结构 2,数据结构知识点的相关概念 3,数据结构中的两大结构 4,抽象数据类型 一,简述 对于第一章绪论这一部分我认为是比较简单的,只是简单的叙述 ...
最新文章
- mac os下valgrind的安装
- PPLcnet和YOLO的碰撞,真的能在cpu上快到起飞?
- 我知道的一些 ”运行“ 窗体下的命令,个人使用
- SharePoint 出现无法识别的属性“type”
- python excel 自动化-python操作excel让工作自动化
- 有nativeQuery = true和没有的区别
- 线性链条件随机场与HMM在viterbi算法中的图解对比
- 携程赴港二次上市在即 “旅游营销枢纽”战略助价值重估
- python递归求5!_Python | 递归
- 0基础学Python,要报班吗?
- linux内核nasm,在x86汇编代码,NASM,Linux中操作字符串
- eureka自我保护时间_Eureka的自我保护机制
- LInux下的交换分区以及相关查看命令
- textswitcher_Android TextSwitcher和ImageSwitcher示例教程
- 基于STM32C8T6的蓝牙PS4遥控小车手柄
- c语言so文件反编译,apk so文件反编译教程
- sun java system calendar 服务器拒绝服务_sun java system cale
- 浪潮服务器不显示光驱,电脑不从光驱启动怎么办?我是浪潮品牌的机子。
- linux下ms安装教程,MS在linux的安装过程.doc
- 2023最新大数据毕设选题
热门文章
- 转载 Visual Assist X 10.8.2001 破解版 支持VC2013及以下版本
- c#明华rf读卡器_明华MW接触式IC卡智能卡读卡器读写器(U/MRD-EB/ET)
- python画spc控制图_如何选择最适合我们的SPC控制图?
- 计算机完成双系统无法启动怎么办,电脑双系统引导修复教程
- JS高级程序设计(10)
- jmeter json提取器和正则表达式提取器
- ojdbc maven
- php对blob视频加密,blob 视频加密
- wallys/IPQ4019/IPQ4029/Access Point Wireless Module Dual band 11AC Wave2 Module
- 【好用的Mac分屏软件】Magnet for Mac 2.3