📅  最后修改于: 2023-12-03 15:29:51.384000             🧑  作者: Mango
在C++ STL中,我们经常会使用容器来存储数据,例如vector、list、map等。而嵌套列表就是指在一个容器中存储另一个容器,我们可以通过这种方式来实现多级的数据结构。
首先,让我们来看看如何在一个vector中存储另一个vector。
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<vector<int>> v;
v.push_back({1, 2, 3});
v.push_back({4, 5});
v.push_back({6, 7, 8, 9});
for (const auto& inner_v : v) {
for (const auto& num : inner_v) {
cout << num << " ";
}
cout << endl;
}
return 0;
}
在这个例子中,我们创建了一个vector并且在其中存储了三个不同的vector。然后,我们使用两个for循环来遍历这个嵌套的vector并打印出每个数字。
输出结果如下:
1 2 3
4 5
6 7 8 9
我们也可以在一个list中存储另一个list。下面是一个示例:
#include <iostream>
#include <list>
using namespace std;
int main() {
list<list<int>> l;
l.push_back({1, 2, 3});
l.push_back({4, 5});
l.push_back({6, 7, 8, 9});
for (const auto& inner_l : l) {
for (const auto& num : inner_l) {
cout << num << " ";
}
cout << endl;
}
return 0;
}
在这个例子中,我们创建了一个list并且在其中存储了三个不同的list。然后,我们使用两个for循环来遍历这个嵌套的list并打印出每个数字。
输出结果如下:
1 2 3
4 5
6 7 8 9
我们也可以在一个vector中存储list,下面是一个示例:
#include <iostream>
#include <vector>
#include <list>
using namespace std;
int main() {
vector<list<int>> v;
v.push_back({1, 2, 3});
v.push_back({4, 5});
v.push_back({6, 7, 8, 9});
for (const auto& inner_l : v) {
for (const auto& num : inner_l) {
cout << num << " ";
}
cout << endl;
}
return 0;
}
在这个例子中,我们创建了一个vector并且在其中存储了三个不同的list。然后,我们使用两个for循环来遍历这个嵌套的vector并打印出每个数字。
输出结果如下:
1 2 3
4 5
6 7 8 9
嵌套列表是一种有用的数据结构,可以帮助我们轻松存储多级数据。在C++ STL中,我们可以在一个容器中存储另一个容器来实现多级数据结构。无论是vector、list还是其他容器,都可以被嵌套在另一个容器中。