当前位置 博文首页 > 英雄哪里出来:《画解数据结构》九张动图,画解队列

    英雄哪里出来:《画解数据结构》九张动图,画解队列

    作者:[db:作者] 时间:2021-09-03 09:13

    本文已收录于专栏
    🌳《画解数据结构》🌳

    零、前言

    ??「 数据结构 」「 算法 」 是密不可分的,两者往往是「 相辅相成 」的存在,所以,在学习 「 数据结构 」 的过程中,不免会遇到各种「 算法 」
    ??到底是先学 数据结构 ,还是先学 算法,我认为不必纠结这个问题,一定是一起学的。
    ??数据结构 常用的操作一般为:「 增 」「 删 」「 改 」「 查 」。基本上所有的数据结构都是围绕这几个操作进行展开的。
    ??那么这篇文章,作者将用 「 九张动图 」 来阐述一种 「 先进先出 」 的数据结构

    「 队列 」

    🙉饭不食,水不饮,题必须刷🙉

    C语言免费动漫教程,和我一起打卡!
    🌞《光天化日学C语言》🌞

    LeetCode 太难?先看简单题!
    🧡《C语言入门100例》🧡

    数据结构难?不存在的!
    🌳《画解数据结构》🌳

    闭关刷 LeetCode,剑指大厂Offer!
    🌌《LeetCode 刷题指引》🌌

    LeetCode 太简单?算法学起来!
    💜《夜深人静写算法》💜

    ?? 队列可以用 顺序表 实现,也可以用 链表 实现,浓缩为以下三张图:

    队列操作三部曲

    队列的链表实现

    队列的顺序表实现

    ??看不懂没有关系,我会把它拆开来一个一个讲,首先来看一下今天要学习的内容目录。

    文章目录

    • 零、前言
    • 一、概念
      • 1、队列的定义
      • 2、队首
      • 3、队尾
    • 二、接口
      • 1、可写接口
        • 1)数据入队
        • 2)数据出队
        • 3)清空队列
      • 2、只读接口
        • 1)获取队首数据
        • 2)获取队列元素个数
        • 3)队列的判空
    • 三、队列的顺序表实现
      • 1、数据结构定义
      • 2、入队
        • 1、动画演示
        • 2、源码详解
      • 3、出队
        • 1、动画演示
        • 2、源码详解
      • 4、清空队列
        • 1、动画演示
        • 2、源码详解
      • 5、只读接口
      • 6、队列的顺序表实现源码
    • 四、队列的链表实现
      • 1、数据结构定义
      • 2、入队
        • 1、动画演示
        • 2、源码详解
      • 3、出队
        • 1、动画演示
        • 2、源码详解
      • 4、清空队列
        • 1、动画演示
        • 2、源码详解
      • 5、只读接口
      • 6、队列的链表实现源码
    • 五、两种实现的优缺点
      • 1、顺序表实现
      • 2、链表实现
    • 六、队列的入门
      • 1、滑动窗口
      • 2、广度优先搜索
    • 七、队列的进阶
      • 1、辅助队列
      • 2、单调队列
    cs