【Day7】[资料结构]-伫列Queue

伫列(Queue)是一种排列结构,虽然与堆叠类似,但伫列在新增与删除资料必须在不同端进行,前端(front)能够删除(dequeue)查看(peek)资料,尾端(Rear)只能新增(enqueue)资料,因此有「先进先出」(First In First Out)特性,缩写为FIFO。

可以想像在抢购商品排队时,最先到的可以先购买到商品并离开。

在电脑领域中有很多使用伫列的应用,像是CPU的工作排程,印表机的工作排序,网路服务器传输...等。


Enqueue的情况

https://ithelp.ithome.com.tw/upload/images/20210917/20121027OU2QKm6j55.jpg

Dequeue的情况

https://ithelp.ithome.com.tw/upload/images/20210917/201210276YJ4rjLvqG.jpg


优先伫列(Priority Queue)

具有优先权的资料可以插队先处理,不需符合FIFO特性,例如:VIP会员可以优先进场、救护车急救时可以优先通过其他车辆。
https://ithelp.ithome.com.tw/upload/images/20210917/20121027pby96mnsgY.jpg


常见制作伫列的方式

  • 使用阵列(Array)制作伫列
    https://ithelp.ithome.com.tw/upload/images/20210917/20121027SYFpVnHTAX.jpg

阵列的介绍可以参考此篇

  • 使用链结串列(Linked List)制作伫列
    https://ithelp.ithome.com.tw/upload/images/20210917/20121027LYXCzozCvG.jpg

链结串列的介绍可以参考此篇


<<:  Day05_客倌~要不要来一块小叮当的翻译蒟蒻XD"

>>:  Motion Graphic 制作的基本流程

关於补数与二进位运算

补数为何存在? 为了将减法以加法的形式进行实作,减少电路开销(省去减法器)。 补数的讨论 一般来说,...

05. Feature Test x HTTP Test x API Test

打开 tests/Feature 让我们来场激烈的 http test 吧! http test 基...

Day22 - 悬浮视窗

总算到了悬浮视窗这步了... 悬浮视窗的原理其实很简单,建立一个背景运作的Service,并且透过W...

005-元件名称_2

关於上篇提到的元件,对我而言,属於在讨论阶段,会比较经常拿出来讨论的元件。真正在实作以及管理画面时,...

参赛心得&感想

首先要先回顾、检讨一下, 刚好遇到专案忙碌的时候, 写出来的文章有点惨不忍睹, 很多程序的细节其实没...