链接:https://pan.baidu.com/s/1z-kFKiNaezO0k2BWQ8l1Hw 
提取码:asdf

1.堆栈

(1)堆栈的概念

栈:只允许在一段进行插入或删除操作的线性表

栈顶:允许插入和删除的一端

栈底:不允许插入和删除的一端

特点:后进先出(LIFO)Last in First Out

(2)堆栈的顺序和链式实现

顺序栈:

简单、方便、但易产生溢出(数组大小固定)

上溢:栈已经满,又要压入元素

下溢:栈已经空,还要弹出元素(一般认为是一种结束条件,即问题处理结束)

顺序栈的表示:

初始化操作:

判断是否为空:

求顺序栈的长度:

清空顺序栈:if(S.base)判断栈是否存在

销毁顺序栈:空间释放,free(S.base)

进栈操作:

出栈:top指针下移,元素出栈

链栈:运算受限的单链表,只能在链表头部进行操作

  • 链表的头指针就是栈顶
  • 不需要头结点
  • 基本不存在栈满的情况
  • 空栈相当于头指针指向空
  • 插入和删除进在栈顶处执行

初始化:

判断是否为空:

入栈:

出栈:free(p)

取栈顶元素:

基本要求:掌握堆栈的概念和特点,能够实现顺序堆栈和链式堆栈的基本操作

2.队列

(1)队列的基本概念:先进先出

(2)顺序循环队列

初始化队列

求循环队列长度:

入队:

出队

取队头元素

(3)链式队列

初始化:

销毁链队列

链队列——将元素e入队

链队列——将元素e出队

取出队头元素

(4)优先级队列

基本要求:掌握队列的概念和特点,掌握顺序循环队列的概念和特点,能够实现队列的基本操作,掌握优先级队列的概念

3.堆栈和队列的应用

基本要求:理解堆栈和队列的经典应用:括号匹配问题,算术表达式计算问题,迷宫问题,调度问题

《数据结构与算法基础 严蔚敏版》第三章 堆栈与队列相关推荐

  1. 《数据结构与算法基础 严蔚敏版》第一章 绪论

    菜鸟笔记,不定时更新... 链接:https://pan.baidu.com/s/1z-kFKiNaezO0k2BWQ8l1Hw  提取码:asdf 一.数据结构的基本概念: 1.数据.数据元素.数据 ...

  2. 数据结构与算法基础(java版)

    目录 数据结构与算法基础(java版) 1.1数据结构概述 1.2算法概述 2.1数组的基本使用 2.2 数组元素的添加 2.3数组元素的删除 2.4面向对象的数组 2.5查找算法之线性查找 2.6查 ...

  3. SQL基础教程MICK版 ···第三章总结

    SQL基础教程MICK版 ···第三章总结 SELECT语句 关于上表的语句顺序 和 执行顺序 完整的语法结构 GROUP BY需要注意的点 用于限定GROUP BY的 HAVING子句 关于ORDE ...

  4. 大学计算机基础第五版第三章,大学计算机基础第三章习题答案

    <大学计算机基础第三章习题答案>由会员分享,可在线阅读,更多相关<大学计算机基础第三章习题答案(4页珍藏版)>请在人人文库网上搜索. 1.第三章 微型计算机硬件组成1.微型计算 ...

  5. 数据结构与算法(严蔚敏)2.24

    假设有两个按元素值递增有序排列的线性表A和B,均以单链表作存储结构,请编写算法将A表和B表归并成一个按元素值递减有序(即非递增有序,允许表中含有值相同的元素)排列的线性表C,并要求利用原表(即A表和B ...

  6. 严蔚敏版数据结构(C语言版)算法实现代码

    严蔚敏版数据结构(C语言版)算法实现代码 数据结构(C语言版)代码实现 线性表 顺序表 链表 单向链表 静态链表01 静态链表02 双向循环链表 栈与队列 栈 顺序栈 进制转换 行编辑器 未完待续.. ...

  7. 数据结构习题答案(全部算法)---严蔚敏版

    第一章绪论 1.16 void print_descending(int x,int y,int z)//按从大到小顺序输出三个数 { scanf("%d,%d,%d",& ...

  8. 严蔚敏版《数据结构 (C语言版)》和《数据结构题集》(一)

    这里用的是严蔚敏版<数据结构 (C语言版)>和<数据结构题集>,深感自己的代码写得又渣又无力,打算把这本书好好琢磨透彻,里面的算法和模板都实现一遍,题目也都做一遍.最终能够做到 ...

  9. 严蔚敏版《数据结构 (C语言版)》和《数据结构题集》(五)——栈和队列...

    栈的顺序表实现 1 #include <iostream> 2 #include <stdlib.h> 3 #include <stdio.h> 4 #define ...

最新文章

  1. sqlserver mysql 乱码_SQLServer数据库如何解决中文乱码问题?方法有哪些?
  2. myeclipse中git的使用
  3. 写在南加州留学生遇难之后
  4. 程序员如何让自己的工作更上一个台阶
  5. 查看NTFS文件系统版本号
  6. finereport字段显示设置_如何在Excel中显示和编辑中文拼音字段
  7. 7 centos lvs nat配置_centos中lvs安装配置方法详解
  8. Java日志框架之JUL(java util logging)详解
  9. Python+BI可视化分析2000W数据之后,告诉你这届毕业生有多难
  10. css样式,层叠顺序属性z-index
  11. 软件是计算机程序的总和 主要分为,2014年造价师考试安装工程专业讲义:计算机控制...
  12. C#实现微信自动发送消息
  13. python 并发之asyncio
  14. Ultimate Colour Control for mac(fcpx终极色彩控制插件)
  15. pageCache和bufferCache
  16. Android AsyncTask详解
  17. 1504 Word Rings
  18. Henry前端笔记之 宏观世界
  19. SCON:串行控制寄存器 之 格式
  20. P1428 小鱼比可爱(C语言)

热门文章

  1. 双搜----用两只眼睛看世界
  2. 基本算法总结,力扣题目整理
  3. 腾讯云直播介绍及如何设置直播
  4. 数据中心(DC)核心交换机和普通交换机的区别
  5. GreenPlum 大数据平台--安装
  6. 深入理解插入排序(why二分插入排序中left就是待插入位置)
  7. SEO外链收录:锚文本外链代发排名
  8. php 根号2计算过程,根号换算(开方计算器在线)
  9. Unraid 使用技巧集合
  10. Win7 Wininit.exe任意加载/执行(漏洞)