美文网首页数据结构
数据结构 -- 队列基础

数据结构 -- 队列基础

作者: 静享时光 | 来源:发表于2020-05-31 18:20 被阅读0次

队列

队列是一种特殊的线性表,支持先进先出。
对头:获取数据的一端叫对头;
队尾:插入数据的一端叫队尾。
我们可以用一个现实生活中的例子来理解队列:我们在排队的时候,都是从前往后排,先来的人站在队伍的前面,后来的人就只能站在队伍的最后面。队伍在前进的时候,也是队伍前面的人先走,后面的人跟着向前。这就是先来的先走(先进先出),先走的(获取数据)一端叫对头,新进来排队的人所在的一端(插入数据)叫队尾。



依然喜欢结合图来解释知识点:


队列图解.png
正是因为队列存在假溢出的现象,使队列不能充分利用,所以出现了循环队列。

循环队列

把队列的这种头尾相连的存储结构被称为循环队列。



空队列,满队列,队列元素个数的判读依据:
假设循环队列总容量为N,并且预留一个空的位置作为队列空,满,长度判断的标志:
队列空:front==rear;
队列满:(rear+1)%N==front;
队列元素个数:(rear – front + N)%N

相关文章

  • 基础排序算法 and extended

    简介 基础的数据结构一般就包括,链表,队列,二叉树图,基础的数据结构对象,再就是比较基础的算法,查找排序,刚开始学...

  • 从上到下打印二叉树

    题目:其实就是层序遍历思路:基础操作,记得使用队列这个数据结构

  • L5. 等待队列 wait_queue

    1. 基础介绍 等待队列很早就作为一个基本的功能单位存在linux内核中,它以队列为基础数据结构,与进程调度机制紧...

  • 消息队列 MQ 1 - 3分钟让你快速了解消息队列

    1 什么是消息队列 队列是一个基础的“先进先出”的数据结构,消息队列,就是一个用来存放消息的队列。一个基本的消息队...

  • RabbitMQ总结

    RabbitMQ总结 基础知识 为什么要用消息队列 队列是一种先进先出的数据结构。 消息队列是分布式系统中重要的组...

  • 栈与队列-java实现

    栈和队列算是最最基础的两种数据结构了,两种数据结构也很好理解。 栈:先进后出。 队列:先进先出。 对于这两种数据结...

  • 数据结构与算法-队列

    队列 先进者先出,这就是典型的“队列”。 作为一种非常基础的数据结构,队列的应用也非常广泛,特别是一些具有某些额外...

  • 数据结构 -- 队列基础

    队列 队列是一种特殊的线性表,支持先进先出。对头:获取数据的一端叫对头;队尾:插入数据的一端叫队尾。我们可以用一个...

  • 【mq】从零开始实现 mq-01-生产者、消费者启动

    MQ 是什么? MQ(Message Queue)消息队列,是基础数据结构中“先进先出”的一种数据结构。 指把要传...

  • ArrayDeque源码分析

    引言 队列、栈是最基础的数据结构中的两种,非常简单,但也很重要。队列的规则是:先进先出(First In Firs...

网友评论

    本文标题:数据结构 -- 队列基础

    本文链接:https://www.haomeiwen.com/subject/zrhrzhtx.html