面试题答案
一键面试思路
- 外层循环遍历
std::vector<std::list<int>>
,获取每个std::list<int>
。 - 内层循环遍历每个
std::list<int>
,通过end
迭代器判断是否到达列表末尾。
关键代码片段
#include <iostream>
#include <vector>
#include <list>
int main() {
std::vector<std::list<int>> nestedContainer;
// 初始化 nestedContainer
nestedContainer.emplace_back(std::list<int>{1, 2, 3});
nestedContainer.emplace_back(std::list<int>{4, 5});
for (const auto& innerList : nestedContainer) {
for (auto it = innerList.begin(); it != innerList.end(); ++it) {
std::cout << *it << " ";
}
std::cout << std::endl;
}
return 0;
}
在上述代码中:
- 外层
for
循环遍历nestedContainer
中的每个std::list<int>
。 - 内层
for
循环通过it != innerList.end()
判断是否到达当前std::list<int>
的末尾,以此避免访问越界。