交付:循环队列 + 双端队列 + 一个应用
这是这条路线的最终作品。把 CQueue 和 Deque 都写出来,再用队列做分层遍历,然后一次验完五条: 容量 4 排满之后 is_full() 是 True 叫走 1 个再排 1 个,新来的落在第
阅读更多 →
第四步:拿队列去做分层遍历
用队列把这棵组织树一层一层走完,输出一共有几层。
阅读更多 →
第三步:再写一个双端队列
写一个 Deque,四个方法都要有:push_front / push_back / pop_front / pop_back。 右端进三个人,然后从左端取一个,输出取到的是谁。
阅读更多 →
第二步:满和空都要挡住
给它加上 is_full / is_empty,并让 enqueue 满了返回 队列已满。 容量 4 排满之后再排一个,输出这次的结果。
阅读更多 →
第一步:循环队列的骨架
最终作品第一步:写出 CQueue,要有定长存储、head、count,以及 enqueue / dequeue(两个下标都要会绕)。 容量 4,排满 4 个、叫走 1 个、再排进「北辰」,输出北辰落
阅读更多 →
排进四个之后计数是多少
运行下面这段程序: class CQueue: def __init__(self, cap=4): self.data = [None] * cap self
阅读更多 →
循环队列比"用列表 pop(0)"强在哪
循环队列比直接用 pop(0) 好在【0】。
阅读更多 →
一个够用的队列库至少要有哪几样
手写一个够用的循环队列,至少要有【0】。
阅读更多 →
广州在第几层
补全 level_of:用队列走的时候顺便记下每个节点的层号(总部算第 1 层),返回目标节点的层号。 这次问的是广州。
阅读更多 →
从半路出发能走到几个
补全 reach:从给定节点出发,用队列走遍所有能到的地方,返回一共走到几个(含出发点)。 这次从华北出发。
阅读更多 →