林老师 · 客观题题库 · STL容器 · 考纲词条练习

STL容器 · 考纲词条练习

STL容器 · 共 100 题 · 原创真题风格补充卷
真题
复刻
试卷编号NEO-J-2026-STL容器
题目总数100 题 · 200 分
试卷类型客观题
考生须知:
① 本卷为客观题单卷,合计 100 题 · 200 分,全部为客观题;
② 试卷右上角设有 「提交答卷」「重置考试」 按钮,提交后系统自动判分并显示答题正确情况,请确认全部作答后再行提交;
③ 试卷不显示答案,提交后方可查看每题作答与正确答案的对照;
④ 答卷进度会保留在本地缓存中,刷新或再次打开仍可继续作答;
⑤ 本卷仅供学生练习使用;请勿用于其他用途;题面有问题请联系:i64coder@163.com。

判 分 报 告

0 / 200 分
0
答 对 · 得 0
0
答 错 · 失 0
当前筛选下没有题目

客 观 题

100 QUESTIONS · 2 POINTS EACH
第 1 题 单选 未作答

STL 指的是( )。

(2 分)
原创 2026 · 单选 第1题 | 知识点 KJ-25a
第 2 题 单选 未作答

竞赛代码常写 #include <bits/stdc++.h>,它的作用是( )。

(2 分)
原创 2026 · 单选 第2题 | 知识点 KJ-26b
第 3 题 单选 未作答

min(3, 7)max(3, 7) 的值分别是( )。

(2 分)
原创 2026 · 单选 第3题 | 知识点 KJ-25
第 4 题 单选 未作答

min(3, 7.5) 这样的调用(int 与 double 混合)在标准 C++ 中( )。

(2 分)
原创 2026 · 单选 第4题 | 知识点 KJ-25
第 5 题 单选 未作答

int a = 3, b = 7; swap(a, b); 执行后 ab 的值是( )。

(2 分)
原创 2026 · 单选 第5题 | 知识点 KJ-25
第 6 题 单选 未作答

数组 int a[4] = {5, 2, 9, 1}; 执行 sort(a, a + 4); 后,数组内容是( )。

(2 分)
原创 2026 · 单选 第6题 | 知识点 KJ-25a
第 7 题 单选 未作答

sort(a, a + n) 排序的范围是( )。

(2 分)
原创 2026 · 单选 第7题 | 知识点 KJ-25a
第 8 题 单选 未作答

不带第三个参数的 sort 默认按( )排列。

(2 分)
原创 2026 · 单选 第8题 | 知识点 KJ-25a
第 9 题 单选 未作答

要把 int 数组按从大到小排序,最简洁的 STL 写法是( )。

(2 分)
原创 2026 · 单选 第9题 | 知识点 KJ-25a、KJ-34a
第 10 题 单选 未作答

int a[5] = {7, 3, 9, 1, 5}; 执行 sort(a + 1, a + 4); 后数组是( )。

(2 分)
原创 2026 · 单选 第10题 | 知识点 KJ-25a、KJ-34a
第 11 题 单选 未作答

按「个位数从小到大」给数组排序,sort 的第三个参数应传( )。

(2 分)
原创 2026 · 单选 第11题 | 知识点 KJ-25a、KJ-34a
第 12 题 单选 未作答

字符串数组 {"banana", "apple", "cherry"} 执行默认 sort 后是( )。

(2 分)
原创 2026 · 单选 第12题 | 知识点 KJ-25a、KJ-34a
第 13 题 单选 未作答

STL sortnn 个元素排序的平均时间复杂度是( )。

(2 分)
原创 2026 · 单选 第13题 | 知识点 KJ-25a、KJ-34a
第 14 题 单选 未作答

「排序后元素带着原下标一起移动」要靠( )实现。

(2 分)
原创 2026 · 单选 第14题 | 知识点 KJ-25a、KJ-34a
第 15 题 单选 未作答

关于 STL sort 的稳定性(相等元素的相对顺序),正确的是( )。

(2 分)
原创 2026 · 单选 第15题 | 知识点 KJ-25a、KJ-34a
第 16 题 单选 未作答

vector<int> v; 尾部添加元素 33 的写法是( )。

(2 分)
原创 2026 · 单选 第16题 | 知识点 KJ-26c
第 17 题 单选 未作答

vector 判断「当前没有任何元素」,标准写法是( )。

(2 分)
原创 2026 · 单选 第17题 | 知识点 KJ-20b
第 18 题 单选 未作答

vector 的下标访问 v[i]( )。

(2 分)
原创 2026 · 单选 第18题 | 知识点 KJ-25
第 19 题 单选 未作答

v.pop_back() 的作用是( )。

(2 分)
原创 2026 · 单选 第19题 | 知识点 KJ-25
第 20 题 单选 未作答

v.clear() 执行后( )。

(2 分)
原创 2026 · 单选 第20题 | 知识点 KJ-25
第 21 题 单选 未作答

vector 区别于定长数组的核心特性是( )。

(2 分)
原创 2026 · 单选 第21题 | 知识点 KJ-26c
第 22 题 单选 未作答

vector<int> v(n, 5); 的含义是( )。

(2 分)
原创 2026 · 单选 第22题 | 知识点 KJ-25
第 23 题 单选 未作答

vector 与定长数组相比,说法正确的是( )。

(2 分)
原创 2026 · 单选 第23题 | 知识点 KJ-26c
第 24 题 单选 未作答

vector<int> v = {2, 5, 8};v.front()v.back() 的值是( )。

(2 分)
原创 2026 · 单选 第24题 | 知识点 KJ-26c
第 25 题 单选 未作答

vector<vector<int>> g(n); 常用来( )。

(2 分)
原创 2026 · 单选 第25题 | 知识点 KJ-26c
第 26 题 单选 未作答

vector<Node> v; 存自定义结构体并 push_back(t),关于这种用法( )。

(2 分)
原创 2026 · 单选 第26题 | 知识点 KJ-26c
第 27 题 单选 未作答

函数要修改调用方的 vector 内容,形参应写成( )。

(2 分)
原创 2026 · 单选 第27题 | 知识点 KJ-25
第 28 题 单选 未作答

无向图加边 (u, v) 用 vector 边表的标准动作是( )。

(2 分)
原创 2026 · 单选 第28题 | 知识点 KJ-26c
第 29 题 单选 未作答

遍历 vector<int> v 求和,初赛最常用的写法是( )。

(2 分)
原创 2026 · 单选 第29题 | 知识点 KJ-20b
第 30 题 单选 未作答

定义整型栈并压入 55 的写法是( )。

(2 分)
原创 2026 · 单选 第30题 | 知识点 KJ-26b
第 31 题 单选 未作答

st.top() 的作用是( )。

(2 分)
原创 2026 · 单选 第31题 | 知识点 KJ-26b
第 32 题 单选 未作答

st.pop() 的行为是( )。

(2 分)
原创 2026 · 单选 第32题 | 知识点 KJ-26b
第 33 题 单选 未作答

弹出循环 while (!st.empty()) { ... st.pop(); }empty() 的作用是( )。

(2 分)
原创 2026 · 单选 第33题 | 知识点 KJ-26b
第 34 题 单选 未作答

st.size() 返回( )。

(2 分)
原创 2026 · 单选 第34题 | 知识点 KJ-26b
第 35 题 单选 未作答

依次 push 1,2,31, 2, 3 后连续 pop 两次,弹出的元素依次是( )。

(2 分)
原创 2026 · 单选 第35题 | 知识点 KJ-25
第 36 题 单选 未作答

要按「从顶到底」的顺序处理栈中所有元素,标准做法是( )。

(2 分)
原创 2026 · 单选 第36题 | 知识点 KJ-26b
第 37 题 单选 未作答

定义整型队列并把 44 加入队尾的写法是( )。

(2 分)
原创 2026 · 单选 第37题 | 知识点 KJ-26c
第 38 题 单选 未作答

queue<int> q 依次入队 1,2,31, 2, 3 后,q.front()q.back() 是( )。

(2 分)
原创 2026 · 单选 第38题 | 知识点 KJ-26c
第 39 题 单选 未作答

队列的 pop() 从哪一端删除元素( )。

(2 分)
原创 2026 · 单选 第39题 | 知识点 KJ-26b
第 40 题 单选 未作答

队列「先进先出」的进出规则是( )。

(2 分)
原创 2026 · 单选 第40题 | 知识点 KJ-26c
第 41 题 单选 未作答

要拿到队头元素的值并让它出队,正确顺序是( )。

(2 分)
原创 2026 · 单选 第41题 | 知识点 KJ-26b
第 42 题 单选 未作答

队列当前元素个数用( )获取。

(2 分)
原创 2026 · 单选 第42题 | 知识点 KJ-26c
第 43 题 单选 未作答

按出队顺序处理队列全部元素并清空它,标准循环是( )。

(2 分)
原创 2026 · 单选 第43题 | 知识点 KJ-26b
第 44 题 单选 未作答

list<int> L; 要在头部与尾部各插一个元素,正确的两个接口是( )。

(2 分)
原创 2026 · 单选 第44题 | 知识点 KJ-26c
第 45 题 单选 未作答

list<int> L 依次 push_back(2)push_front(1)push_back(3) 后,L.front()L.back() 是( )。

(2 分)
原创 2026 · 单选 第45题 | 知识点 KJ-26c
第 46 题 单选 未作答

L.pop_front()L.pop_back() 分别删除( )。

(2 分)
原创 2026 · 单选 第46题 | 知识点 KJ-26b
第 47 题 单选 未作答

list 与 vector 最关键的对比是( )。

(2 分)
原创 2026 · 单选 第47题 | 知识点 KJ-25
第 48 题 单选 未作答

L[2]list 而言( )。

(2 分)
原创 2026 · 单选 第48题 | 知识点 KJ-25
第 49 题 单选 未作答

C++11 起遍历 list<int> L 最简洁的写法是( )。

(2 分)
原创 2026 · 单选 第49题 | 知识点 KJ-20b
第 50 题 单选 未作答

「需要下标随机访问、且只在尾部增删」应选( )。

(2 分)
原创 2026 · 单选 第50题 | 知识点 KJ-26b
第 51 题 单选 未作答

下列最适合用 stack 的场景是( )。

(2 分)
原创 2026 · 单选 第51题 | 知识点 KJ-26b
第 52 题 单选 未作答

下列最适合用 queue 的场景是( )。

(2 分)
原创 2026 · 单选 第52题 | 知识点 KJ-26c
第 53 题 单选 未作答

下列最适合用 vector 的场景是( )。

(2 分)
原创 2026 · 单选 第53题 | 知识点 KJ-25
第 54 题 单选 未作答

下列最适合用 list 的场景是( )。

(2 分)
原创 2026 · 单选 第54题 | 知识点 KJ-25
第 55 题 单选 未作答

初赛中 STL 容器与手写数组实现的取舍,正确的态度是( )。

(2 分)
原创 2026 · 单选 第55题 | 知识点 KJ-25
第 56 题 单选 未作答

01int a = 3, b = 7;
02cout << min(a, b) << " " << max(a, b);

输出是( )。

(2 分)
原创 2026 · 单选 第56题 | 知识点 KJ-25
第 57 题 单选 未作答

01int a = 3, b = 7, c = 5;
02cout << min(a, max(b, c));

输出是( )。

(2 分)
原创 2026 · 单选 第57题 | 知识点 KJ-25
第 58 题 单选 未作答

01int a = 3, b = 7;
02swap(a, b);
03cout << a << " " << b;

输出是( )。

(2 分)
原创 2026 · 单选 第58题 | 知识点 KJ-25
第 59 题 单选 未作答

01int a[] = {5, 2, 9, 1};
02sort(a, a + 4);
03for (int i = 0; i < 4; i++) cout << a[i];

输出是( )。

(2 分)
原创 2026 · 单选 第59题 | 知识点 KJ-25a
第 60 题 单选 未作答

01int a[] = {5, 2, 9, 1};
02sort(a, a + 4, greater<int>());
03for (int i = 0; i < 4; i++) cout << a[i];

输出是( )。

(2 分)
原创 2026 · 单选 第60题 | 知识点 KJ-25a
第 61 题 单选 未作答

01int a[] = {7, 3, 9, 1, 5};
02sort(a + 1, a + 4);
03for (int i = 0; i < 5; i++) cout << a[i];

输出是( )。

(2 分)
原创 2026 · 单选 第61题 | 知识点 KJ-25a
第 62 题 单选 未作答

01vector<int> v;
02v.push_back(3); v.push_back(1); v.push_back(4);
03for (int i = 0; i < (int)v.size(); i++) cout << v[i];
04cout << " " << v.size();

输出是( )。

(2 分)
原创 2026 · 单选 第62题 | 知识点 KJ-26c
第 63 题 单选 未作答

01vector<int> v;
02v.push_back(3); v.push_back(1); v.push_back(4);
03v.pop_back();
04for (int i = 0; i < (int)v.size(); i++) cout << v[i];
05cout << " " << v.size();

输出是( )。

(2 分)
原创 2026 · 单选 第63题 | 知识点 KJ-26c
第 64 题 单选 未作答

01vector<int> v;
02v.push_back(3); v.push_back(1);
03v[0] = 9;
04for (int i = 0; i < (int)v.size(); i++) cout << v[i];

输出是( )。

(2 分)
原创 2026 · 单选 第64题 | 知识点 KJ-26c
第 65 题 单选 未作答

01vector<int> v;
02v.push_back(9); v.push_back(1);
03int s = 0;
04for (int i = 0; i < (int)v.size(); i++) s += v[i];
05cout << s;

输出是( )。

(2 分)
原创 2026 · 单选 第65题 | 知识点 KJ-26c
第 66 题 单选 未作答

01vector<int> v;
02v.push_back(9); v.push_back(1);
03for (int i = (int)v.size() - 1; i >= 0; i--) cout << v[i];

输出是( )。

(2 分)
原创 2026 · 单选 第66题 | 知识点 KJ-26c
第 67 题 单选 未作答

01vector<int> v;
02v.push_back(9); v.push_back(1);
03v.push_back(7); v.push_back(2);
04sort(v.begin(), v.end());
05for (int x : v) cout << x;

输出是( )。

(2 分)
原创 2026 · 单选 第67题 | 知识点 KJ-26c
第 68 题 单选 未作答

01vector<int> v;
02for (int x : {1, 2, 7, 9}) v.push_back(x);
03while (!v.empty()) { cout << v.back(); v.pop_back(); }

输出是( )。

(2 分)
原创 2026 · 单选 第68题 | 知识点 KJ-26c
第 69 题 单选 未作答

01stack<int> st;
02st.push(1); st.push(2); st.push(3);
03cout << st.top();

输出是( )。

(2 分)
原创 2026 · 单选 第69题 | 知识点 KJ-26b
第 70 题 单选 未作答

01stack<char> sc;
02string s = "abcde";
03for (char c : s) sc.push(c);
04string r;
05while (!sc.empty()) { r += sc.top(); sc.pop(); }
06cout << r;

输出是( )。

(2 分)
原创 2026 · 单选 第70题 | 知识点 KJ-26b
第 71 题 单选 未作答

01string t = "{[()]}";
02stack<char> st;
03bool ok = true;
04for (char c : t) {
05    if (c == '(' || c == '[' || c == '{') st.push(c);
06    else {
07        char o = st.top(); st.pop();
08        if ((c == ')' && o != '(') || (c == ']' && o != '[') || (c == '}' && o != '{')) ok = false;
09    }
10}
11cout << (ok && st.empty() ? 1 : 0);

输出是( )。

(2 分)
原创 2026 · 单选 第71题 | 知识点 KJ-26b
第 72 题 单选 未作答

栈空开始依次执行:push(1)push(2)pop 并输出栈顶、push(3)pop 并输出、pop 并输出。输出的三个数依次是( )。

(2 分)
原创 2026 · 单选 第72题 | 知识点 KJ-26b
第 73 题 单选 未作答

01stack<int> st;
02st.push(5); st.push(2); st.push(8);
03while (!st.empty()) { cout << st.top(); st.pop(); }

输出是( )。

(2 分)
原创 2026 · 单选 第73题 | 知识点 KJ-26b
第 74 题 单选 未作答

1,2,31, 2, 3 依次进栈(进栈顺序固定,可在任意时刻出栈),下列哪个出栈序列不可能( )。

(2 分)
原创 2026 · 单选 第74题 | 知识点 KJ-26b
第 75 题 单选 未作答

01queue<int> q;
02q.push(1); q.push(2); q.push(3);
03cout << q.front() << " " << q.back();

输出是( )。

(2 分)
原创 2026 · 单选 第75题 | 知识点 KJ-26c
第 76 题 单选 未作答

01queue<int> q;
02q.push(1); q.push(2); q.push(3);
03q.pop();
04cout << q.front();

输出是( )。

(2 分)
原创 2026 · 单选 第76题 | 知识点 KJ-26b
第 77 题 单选 未作答

01queue<int> q;
02q.push(1); q.push(2); q.push(3);
03q.pop();
04while (!q.empty()) { cout << q.front(); q.pop(); }

输出是( )。

(2 分)
原创 2026 · 单选 第77题 | 知识点 KJ-26b
第 78 题 单选 未作答

01queue<int> q;
02for (int i = 1; i <= 5; i++) q.push(i);
03int cnt = 0;
04while (!q.empty()) {
05    cnt++;
06    int x = q.front(); q.pop();
07    if (cnt % 3 == 0) cout << x << " ";
08    else q.push(x);
09}

输出是( )。

(2 分)
原创 2026 · 单选 第78题 | 知识点 KJ-26b
第 79 题 单选 未作答

图:11 连向 2,32, 322 连向 44。从 11 出发 BFS(入队即标记),队列逐个出队访问。访问顺序是( )。

(2 分)
原创 2026 · 单选 第79题 | 知识点 KJ-26c
第 80 题 单选 未作答

队列 q = {4, 7}(队头 44),执行:出队 xxxx11 后重新入队,共两次。最终队列(从队头到队尾)是( )。

(2 分)
原创 2026 · 单选 第80题 | 知识点 KJ-26c
第 81 题 单选 未作答

01queue<int> q;
02q.push(6);
03while (!q.empty()) q.pop();
04cout << q.size();

输出是( )。

(2 分)
原创 2026 · 单选 第81题 | 知识点 KJ-26b
第 82 题 单选 未作答

01list<int> L;
02L.push_back(2); L.push_front(1); L.push_back(3);
03for (int x : L) cout << x;
04cout << " " << L.front() << " " << L.back();

输出是( )。

(2 分)
原创 2026 · 单选 第82题 | 知识点 KJ-26c
第 83 题 单选 未作答

01list<int> L;
02L.push_back(1); L.push_back(2); L.push_back(3);
03L.pop_front(); L.pop_back();
04for (int x : L) cout << x;

输出是( )。

(2 分)
原创 2026 · 单选 第83题 | 知识点 KJ-26c
第 84 题 单选 未作答

01list<int> L;
02for (int x : {1, 2, 3, 4, 5}) L.push_back(x);
03// 依次:弹出首端输出、弹出末端输出、再弹首端输出、再弹末端输出

四个输出的数字与剩余 size() 是( )。

(2 分)
原创 2026 · 单选 第84题 | 知识点 KJ-26c
第 85 题 单选 未作答

01list<int> L;
02for (int x : {4, 1, 3}) L.push_back(x);
03int s = 0;
04for (int x : L) s += x;
05cout << s;

输出是( )。

(2 分)
原创 2026 · 单选 第85题 | 知识点 KJ-26c
第 86 题 单选 未作答

01list<int> L;
02L.push_back(5); L.push_front(3); L.push_back(8); L.push_front(1);
03for (int x : L) cout << x;

输出是( )。

(2 分)
原创 2026 · 单选 第86题 | 知识点 KJ-26c
第 87 题 单选 未作答

补全向 vector 尾部添加元素的语句:

01vector<int> v;
02for (int i = 1; i <= n; i++)
03    v./* 1 */(i);

空位 /* 1 */ 处应填( )。

(2 分)
原创 2026 · 单选 第87题 | 知识点 KJ-26c
第 88 题 单选 未作答

补全对 int a[N]nn 个元素的排序调用:

sort(a, /* 1 */);

空位 /* 1 */ 处应填( )。

(2 分)
原创 2026 · 单选 第88题 | 知识点 KJ-25a
第 89 题 单选 未作答

补全「取出栈顶处理并弹出」的两步:

01int x = st./* 1 */;
02st.pop();

空位 /* 1 */ 处应填( )。

(2 分)
原创 2026 · 单选 第89题 | 知识点 KJ-26b
第 90 题 单选 未作答

补全「处理队头并出队」:

01int x = q./* 1 */;
02q.pop();

空位 /* 1 */ 处应填( )。

(2 分)
原创 2026 · 单选 第90题 | 知识点 KJ-26b
第 91 题 单选 未作答

补全「处理完队头再出队」的语句顺序(处理为累加到 sum):

01while (!q.empty()) {
02    sum += q.front();
03    /* 1 */;
04}

空位 /* 1 */ 处应填( )。

(2 分)
原创 2026 · 单选 第91题 | 知识点 KJ-26b
第 92 题 单选 未作答

01vector<int> v;
02for (int x : {5, 3, 8, 1}) v.push_back(x);
03sort(v.begin(), v.end());
04for (int x : v) cout << x;

输出是( )。

(2 分)
原创 2026 · 单选 第92题 | 知识点 KJ-26c、KS-58b
第 93 题 单选 未作答

01stack<int> st; queue<int> q;
02for (int x : {1, 2, 3}) st.push(x);
03while (!st.empty()) { q.push(st.top()); st.pop(); }
04while (!q.empty()) { cout << q.front(); q.pop(); }

输出是( )。

(2 分)
原创 2026 · 单选 第93题 | 知识点 KJ-26b、KS-58b
第 94 题 单选 未作答

01vector<int> v = {10, 20, 30};
02stack<int> st; queue<int> q;
03for (int x : v) st.push(x);
04for (int x : v) q.push(x);
05cout << st.top() << " " << q.front() << " " << q.back();

输出是( )。

(2 分)
原创 2026 · 单选 第94题 | 知识点 KJ-26b、KS-58b
第 95 题 单选 未作答

01struct P { string name; int sc; };
02vector<P> v = {{"Li", 85}, {"Zhao", 92}, {"Wang", 78}};
03sort(v.begin(), v.end(), [](const P& a, const P& b) { return a.sc > b.sc; });
04cout << v[0].name;

输出是( )。

(2 分)
原创 2026 · 单选 第95题 | 知识点 KJ-20b、KS-58b
第 96 题 单选 未作答

vector<int> v; v.push_back(1); 之后执行 cout << v[5];,结果是( )。

(2 分)
原创 2026 · 单选 第96题 | 知识点 KJ-26c
第 97 题 单选 未作答

stack<int> st; 空栈直接执行 st.top(),结果是( )。

(2 分)
原创 2026 · 单选 第97题 | 知识点 KJ-26b
第 98 题 单选 未作答

int x = st.pop(); 这行代码( )。

(2 分)
原创 2026 · 单选 第98题 | 知识点 KJ-26b
第 99 题 单选 未作答

要排序 a[0..n-1]nn 个元素却写成 sort(a, a + n - 1);,后果是( )。

(2 分)
原创 2026 · 单选 第99题 | 知识点 KJ-25a
第 100 题 单选 未作答

for (int i = 0; i < (int)v.size(); i++) 循环体内执行了 v.pop_back();,可能的后果是( )。

(2 分)
原创 2026 · 单选 第100题 | 知识点 KJ-20b