下列代码执行后,输出结果为 30 。
queue<int> q;
q.push(10);
q.push(20);
q.push(30);
q.pop();
cout << q.front();看到队列题先想 FIFO 规则:push 是入队尾,pop 是出队头,front 是看队头。这题三步 push 后队列为 [10, 20, 30],pop 一次删掉队头 10,剩下 [20, 30],front 就是 20。
A 选项"输出 30"是命题人设计的典型陷阱——利用考生对 front 的误解(以为 front 指向最后入队)和 pop 的误解(以为 pop 删尾)。B 选项"错误"才是正确判断。
GESP 六级《C++ 程序设计》大纲中,队列属于"数据结构"模块,第 3 章"STL 容器"第 2 节。命题人放这道题,就是卡住 85% 考生对 FIFO 顺序的直觉——很多人把 front 当成"最新",把 pop 当成"删尾",结果全错。
看到队列题先想 FIFO 规则:push 是入队尾,pop 是出队头,front 是看队头。这题三步 push 后队列为 [10, 20, 30],pop 一次删掉队头 10,剩下 [20, 30],front 就是 20。