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

数据结构(长期更新)第8讲:队列

数据结构(长期更新)

第8讲:队列

      跟着潼心走,轻松拿捏C语言,困惑通通走,一去不回头~欢迎开始今天的学习内容,你的支持就是博主最大的动力博主主页:潼心1412o-CSDN博客


目录

数据结构(长期更新)

第8讲:队列

8.1 前言

8.2 概念和性质

8.3 实现方式/底层结构

8.4 基本操作

8.5 用队列实现栈

8.6 用栈实现队列


8.1 前言

上节课我们学习了栈,这是一种特殊的线性表,只能在一端(即栈顶)对数据进行操作,底层是通过数组实现的,而今天我们要学习的是队列,和栈完全相反,可以进行类比学习。还等什么,gogogo,出发喽~

8.2 概念和性质

队列:只允许在一端进行插入,一段进行删除的线性表。

出队列——队头:删除端

入队列——队尾:插入端

我们可以联想日常生活中排队的情景方便记忆

性质:先进先出即 FIRST IN FIRST OUT(FIFO)

8.3 实现方式/底层结构

底层结构为链表

原因:虽然数组和链表都有一端时间复杂度为O(N),一端为O(1),但是我们知道链表是可以进行优化的,比如增加一个尾指针,就可以大大提高运行效率。但是数组的头删就不太行,效率很低。所以优先选择链表。

8.4 基本操作

queue.h

初始化

创建新结点

入队---队尾

出队---队头

销毁

8.5 用队列实现栈

https://leetcode.cn/problems/implement-stack-using-queues/description/

思路分析:如何实现用两个队列实现栈?

入栈:往非空队列尾插入数据

出栈:将前n-1个数据出队列,入另一个队列,pop第一个队列队尾元素

取栈顶元素:取非空队列队尾元素

8.6 用栈实现队列

https://leetcode.cn/problems/implement-queue-using-stacks/description/

思路分析:创建两个栈,一个专门用于存放数据PushST,一个专门用于出数据PopST
入队:往PushST里面入栈
出队:只要PopST不为空,就出栈;为空先把PushST里面的数据倒进PopST,再出栈
取队头:逻辑同出队,但是只取不删除


  好了今天的学习内容就到这里啦,谢谢你的陪伴,我是潼心,下次再见~如果这篇文章对你有帮助的话。请务必给主播一个一键三连,球球了,这对主播很重要~​​​​​​ 

博主主页:潼心1412o-CSDN博客

http://www.dtcms.com/a/601912.html

相关文章:

  • LKT4305安全芯片身份认证介绍
  • 看门狗超时时间的理解
  • C语言编译器手机教程 | 轻松在手机上编写和编译C语言程序
  • 基于SpringBoot的企业资产管理系统开发与设计
  • 黄骅做网站价格莱芜金点子招工小时工
  • 速卖通网站怎样做店面的二维码厦门网站建设
  • 好创意网站有哪些方面幸运28网站开发
  • AI小白入门:什么是RAG技术?
  • 【一天一个计算机知识】—— 【编程百度】条件编译
  • 网站分享注册公司代理电话
  • 免费制作一个企业网站广告设计公司网页
  • Gradle vs Maven 详细对比
  • [Column#187] 10data_struct | IP速查表 | 协议TCPUDP | DeepSeek-OCR
  • 生产级HMACSHA256签名与验签案例
  • 腾讯云服务器搭建网站漯河网站建设费用
  • docker部署开源监控软件hertzbeat
  • 上海网站网站建设工程公司简介范文大全
  • STM32CubeMx学习hal库
  • 在线确定性算法与自适应启发式在虚拟机动态整合中的竞争分析与性能优化
  • 企业网站建设费多少钱硬盘做免费嗳暧视频网站
  • 做图在哪个网站上找南京自助建站模板
  • 山东市网站建设中国林业网站群建设工程
  • 大白话浅析Windows 安全核心机制
  • 【OpenCV + VS】OpenCV 随机数绘图:如何在图像中绘制随机线条
  • 个人网站可以做商城吗泰安人才信息网官网
  • 网站开发提供图片加载速度建设工程施工合同示范文本2021
  • sward实战教程系列(2) - 创建第一个知识库
  • iOS 内存管理之 autoreleasePool
  • 北京沙河教做网站的山东省济南市莱芜区
  • 长沙建长沙建网站公司给wordpress程序提速