把队列按顺序倒出来

补全:把 std::queue 里的人按出队顺序全部倒出来,用 - 连成一行输出。(std::queue 不能用 for 遍历,只能一个个 front 再 pop。) (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

两个队列轮流合并

补全:一号队列里是 甲、丙、戊,二号队列里是 乙、丁。两个队列轮流各出一个(一号先出),谁空了就只从另一个出,把出来的顺序用 - 连成一行输出。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

任务队列为什么不用栈

第 1 步:缓冲区只有 2 格,来了 5 个 第 2 步:第 1 个:有空位,放进去 第 3 步:第 2 个:有空位,放进去 第 4 步:第 3 个:满了,丢掉 第 5 步:第 4 个:满了,丢掉 第 6 步:第 5 个:满了,丢掉 第 7

开始练习 →

缓冲装满又来新数据

有界缓冲装满之后又来了新数据,常见的两种处理是【0】。

开始练习 →

三个任务谁最后被处理

运行下面这段程序: #include <iostream> #include <string> #include <vector> using namespace std; #include <de

开始练习 →

缓冲区丢了几个

运行下面这段程序(缓冲区最多装 2 个): #include <iostream> #include <string> #include <vector> using namespace std; in

开始练习 →

按提交顺序处理完任务

补全 run_all:把队列里的任务按提交顺序全部处理完,返回最后处理的那个。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

有界缓冲装不下就丢

补全 fill_buf:缓冲区最多装 cap 个,装满之后来的一律丢掉,返回丢了几个。这次容量是 2,一共来了 5 个。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

叫号机第三个叫到几号

补全 call_nth:1 到 5 号依次取票排队,按顺序叫号,返回第 n 个被叫到的号。这次问的是第 3 个。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

两个窗口轮流叫

甲、乙、丙、丁、戊五个人排一条队,一号窗和二号窗轮流从队头叫人(一号先叫)。补全代码,输出二号窗服务的最后一个人。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →