当前位置: 首页 > news >正文

第04章 第04章 队列

序言

1. 内容介绍

本章详细介绍了队列的定义、顺序队列,链式队列和队列的应用

2. 理论目标

  • 掌握队列的定义
  • 掌握顺序队列的原理
  • 掌握链式队列的原理
  • 掌握队列的应用场景

3. 实践目标

  • 顺序队列的底层代码实现,链式队列的底层代码实现,以及完成代码完成队列的应用。

4. 实践案例

5. 内容目录

  • 1.队列的定义
  • 2.顺序队列
  • 3.链式队列
  • 4.队列的应用

第1节 队列的定义

1.1 为什么使用队列

栈的内涵

1.2什么是队列

定义:是只允许在表尾插入,表头删除的线性表

按存储内容(空队列、非空队列)

按存储结构(顺序队列、链式队列)

队列的作用

1、提高效率

(排队上车,井然有序)

2、是在软件里面保存信息的容器

(微信信息)

3、提高准确性

(消息队列,只有确定任务被成功处理后,才会做出相应处理)

队列的抽象数据类型

第2节 顺序队列

2.1 顺序队列的概念

定义:是采用顺序存储结构实现的队列

按真假溢出(普通顺序队列、循环顺序队列)

2.2如何使用普通顺序队列

普通顺序队列结构体的创建

创建并初始化普通顺序队列

普通顺序队列的入队操作

“真上溢“现象

main函数

普通顺序队列的出队操作

“下溢“现象

代码演示:

2.3 内容小结

第3节 循环顺序队列

3.1 为什么使用循环顺序队列

  

3.2 什么是循环顺序队列

循环顺序队列的定义:是头尾相接的顺序队列

3.3 如何使用循环顺序队列

1.循环顺序队列的创建及初始化

循环顺序队列的出队操作

特殊情况

解决“下溢”(队空)

循环顺序队列的出队操作代码

循环顺序队列的入队操作

循环顺序队列的入队操作特殊情况

循环顺序队列的入队操作 解决“上溢”(队满)

  

循环顺序队列的长度

循环顺序队列内容小结

第4节 链式队列

3.1为什么使用链式队列

3.2什么是链式队列

定义:是采用链式存储结构实现的队列

3.3 如何使用链式队列

          

第5节 队列的应用

4.1 案例

4.2 知识复习-顺序队列

定义:采用顺序存储结构实现的队列

顺序队列的格式

入队操作

出队操作

4.3 案例:商品队列

      

循环顺序队列的格式

循环顺序队列入队

循环顺序队列出队

4.4案例: 学生队列

学生队列

   

开始实验

第6节 附录

相关文章:

  • 智慧工业+数字孪生,打造智慧设备运维最优解
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • 【java_wxid项目】【第七章】【Spring Cloud Alibaba Seata集成】
  • Devops全链路学习——docker docker-compose jenkins
  • 程序生成随机数的方法
  • 《nginx》一、nginx核心指令
  • Hadoop环境快速搭建《简单无脑步骤版》
  • TypeScript 高级类型
  • vulnhub BTRSys: v2.1
  • mysql使用小记--group_concat()、sum()
  • SpringBoot学习笔记(五)IOC
  • 微信、QQ防撤回
  • RKMPP库快速上手--(三)MPP解码入门
  • torch.nn.interpolate—torch上采样和下采样操作
  • DBCO-PEG-OPSS/OPSS-PEG-DBCO/二苯并环辛炔聚乙二醇修饰邻吡啶二硫
  • 2018天猫双11|这就是阿里云!不止有新技术,更有温暖的社会力量
  • Angular4 模板式表单用法以及验证
  • hadoop集群管理系统搭建规划说明
  • happypack两次报错的问题
  • HomeBrew常规使用教程
  • iOS帅气加载动画、通知视图、红包助手、引导页、导航栏、朋友圈、小游戏等效果源码...
  • JSONP原理
  • Terraform入门 - 3. 变更基础设施
  • Vue小说阅读器(仿追书神器)
  • Wamp集成环境 添加PHP的新版本
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 对JS继承的一点思考
  • 分布式熔断降级平台aegis
  • 基于OpenResty的Lua Web框架lor0.0.2预览版发布
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 记一次删除Git记录中的大文件的过程
  • 技术发展面试
  • 码农张的Bug人生 - 初来乍到
  • 面试题:给你个id,去拿到name,多叉树遍历
  • 项目管理碎碎念系列之一:干系人管理
  • 应用生命周期终极 DevOps 工具包
  • k8s使用glusterfs实现动态持久化存储
  • SAP CRM里Lead通过工作流自动创建Opportunity的原理讲解 ...
  • ​【已解决】npm install​卡主不动的情况
  • (52)只出现一次的数字III
  • (分享)自己整理的一些简单awk实用语句
  • (一)ClickHouse 中的 `MaterializedMySQL` 数据库引擎的使用方法、设置、特性和限制。
  • (已解决)vue+element-ui实现个人中心,仿照原神
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...
  • .NET 8.0 发布到 IIS
  • .net core MVC 通过 Filters 过滤器拦截请求及响应内容
  • .NetCore 如何动态路由
  • .net生成的类,跨工程调用显示注释
  • .php结尾的域名,【php】php正则截取url中域名后的内容
  • @DependsOn:解析 Spring 中的依赖关系之艺术
  • [Android]Tool-Systrace
  • [C++] Boost智能指针——boost::scoped_ptr(使用及原理分析)
  • [C++] 如何使用Visual Studio 2022 + QT6创建桌面应用
  • [COI2007] Sabor
  • [Effective C++读书笔记]0012_复制对象时勿忘其每一部分