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语言版第二版(名师严蔚敏最新力作)人民邮电出版社相关推荐

  1. 数据结构C语言版第二版第六章原创总结

    数据结构C语言版第二版第六章原创总结 图章节原创总结

  2. R语言必看推荐:R语言入门经典版(中文版)+R语言实战第二版(中文完整版)

    R语言入门经典(中文版)R for beginners R语言经典教材 第二版 适合初学者 作者:Emmanuel Paradis R 语言实战第二版(中文完整版) R语言实战(第2版)注重实用性,是 ...

  3. C语言程序设计(第二版) 主编:余贞侠 何钰娟 课后习题 代码题答案

    C语言程序设计(第二版) 主编:余贞侠 何钰娟 (课后习题 代码题答案) ps.由于没有官方答案,博主将自己写的代码分享出来,若有错误之处请多多谅解,转载注明出处! 版权声明:本文为CSDN博主「Ra ...

  4. Java数据结构和算法(第二版)

    Java数据结构和算法(第二版) 下载地址 https://pan.baidu.com/s/112D5houIgu0eMs_i5o0Ujw 扫码下面二维码关注公众号回复 100066获取分享码 本书目 ...

  5. 《汇编语言程序设计教程》人民邮电出版社第二版习题及参考答案

    网上的答案是第一版的,重新整理了一下 <汇编语言程序设计教程>人民邮电出版社第二版 刘慧婷,王庆生 主编 习题及参考答案 更多汇编内容请访问:omegaxyz.com 第一章至第五章 核对 ...

  6. c语言人民邮电出版社课后答案,C语言程序设计教程(人民邮电出版社) 课后习题解答6-10...

    C语言程序设计教程(人民邮电出版社) 课后习题解答6-10 第6章 ;类和对象(一) 练习题6 6.1 判断题 × 1.使用class定义的类,其默认的访问权限是公有的,使用struct定义的类,其默 ...

  7. 数据结构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( ...

  8. 《数据结构与算法》第二版-陈卫卫-陆军工程大学811数据结构教材 第1-2章 参考答案

    <数据结构与算法>(第二版)陈卫卫-高等教育出版社     陆军工程大学811数据结构教材    第1-2章 参考答案 习题1.1 1.1-1      (1)名称.数量.特征.性质的   ...

  9. 数据结构c语言版第二版(严蔚敏)第五章笔记

    目录 树和二叉树的定义 树的定义 树的基本术语 二叉树的定义 二叉树的性质和存储结构 二叉树的性质 二叉树的存储结构 顺序存储结构 链式存储结构 遍历二叉树和线索二叉树 遍历二叉树 先序遍历 中序遍历 ...

  10. 数据结构(c语言版 第二版 严蔚敏)第一张绪论笔记

    目录 一,简述 二,数据结构的相关概念 1,什么是数据结构 2,数据结构知识点的相关概念 3,数据结构中的两大结构 4,抽象数据类型 一,简述 对于第一章绪论这一部分我认为是比较简单的,只是简单的叙述 ...

最新文章

  1. mac os下valgrind的安装
  2. PPLcnet和YOLO的碰撞,真的能在cpu上快到起飞?
  3. 我知道的一些 ”运行“ 窗体下的命令,个人使用
  4. SharePoint 出现无法识别的属性“type”
  5. python excel 自动化-python操作excel让工作自动化
  6. 有nativeQuery = true和没有的区别
  7. 线性链条件随机场与HMM在viterbi算法中的图解对比
  8. 携程赴港二次上市在即 “旅游营销枢纽”战略助价值重估
  9. python递归求5!_Python | 递归
  10. 0基础学Python,要报班吗?
  11. linux内核nasm,在x86汇编代码,NASM,Linux中操作字符串
  12. eureka自我保护时间_Eureka的自我保护机制
  13. LInux下的交换分区以及相关查看命令
  14. textswitcher_Android TextSwitcher和ImageSwitcher示例教程
  15. 基于STM32C8T6的蓝牙PS4遥控小车手柄
  16. c语言so文件反编译,apk so文件反编译教程
  17. sun java system calendar 服务器拒绝服务_sun java system cale
  18. 浪潮服务器不显示光驱,电脑不从光驱启动怎么办?我是浪潮品牌的机子。
  19. linux下ms安装教程,MS在linux的安装过程.doc
  20. 2023最新大数据毕设选题

热门文章

  1. 转载 Visual Assist X 10.8.2001 破解版 支持VC2013及以下版本
  2. c#明华rf读卡器_明华MW接触式IC卡智能卡读卡器读写器(U/MRD-EB/ET)
  3. python画spc控制图_如何选择最适合我们的SPC控制图?
  4. 计算机完成双系统无法启动怎么办,电脑双系统引导修复教程
  5. JS高级程序设计(10)
  6. jmeter json提取器和正则表达式提取器
  7. ojdbc maven
  8. php对blob视频加密,blob 视频加密
  9. wallys/IPQ4019/IPQ4029/Access Point Wireless Module Dual band 11AC Wave2 Module
  10. 【好用的Mac分屏软件】Magnet for Mac 2.3