把它当成一个栈来用

用同一个 Deque 当栈:进出都只走右端。依次放进三个人,取一次,输出取到的是谁。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

两头夹着判回文

双端队列最顺手的一个用法:判断一个字符串正着读反着读一不一样。补全 is_pal:用 std::deque每次从两端各取一个比一比,不一样就返回 false。这次判的是 abcba。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

std::queue 的 pop 做什么

第 1 步:std::queue 底下是 deque 第 2 步:push(3):接到 back 后面 第 3 步:push(7):接到 back 后面 第 4 步:push(5):接到 back 后面 第 5 步:只看得见 front 和

开始练习 →

std::queue 默认的底层容器

不指定的话,std::queue 底下用来存元素的容器是【0】。

开始练习 →

deque 比 vector 多的本事

和 vector 比,std::deque 多出来的本事是【0】。

开始练习 →

std::queue 出队后的队头

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

开始练习 →

deque 两头各是谁

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

开始练习 →

用 std::queue 叫号

补全:1 到 5 号依次取票排进 std::queue,然后叫走 3 个号,输出现在排在最前面的号。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

只保留最近三条记录

补全:操作记录依次是 a、b、c、d、e,用 std::deque 只保留最近 3 条——每放进一条,超过 3 条就从左边丢掉最旧的。最后输出最旧的那条。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

打印机前面还有几页

补全:打印队列里依次是 备份(5 页)、转码(3 页)、阿泰的报告(4 页)。用 std::queue 从队头往后取,算出阿泰的报告开始打印之前一共要先打几页。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →