所谓队列,就是一种先进先出的数据结构。就像是日常生活中的排队一样,遵循先来后到的规矩。
队列由一个(list)数组和(head)以及(tail)这两个变量组成。(head)存队头在(list)里的位置,(tail)存队尾的位置(队尾是空的,留给下一个进队的人的位置)。(list)数组的大小应该不能小于队内可能存在的最多元素的个数,所以我们就可以循环使用这个(list)数组了。
虽然队列的构成和代码都十分的简单,但是由于题目需求的毒瘤多样性,可以变着法子玩,比如要队列里所有元素保持单调的单调队列,队头队尾都能进队出队的双端队列等等……