set<vector<int>>如何访问其中的元素,c++
时间: 2023-10-22 19:07:59 浏览: 95
++中如何遍历所有元素?
要访问set<vector<int>>中的元素,可以使用迭代器。示例代码如下:
```c++
set<vector<int>> s;
// 添加元素
vector<int> v1 = {1, 2, 3};
s.insert(v1);
vector<int> v2 = {4, 5, 6};
s.insert(v2);
// 遍历元素
for (auto it = s.begin(); it != s.end(); ++it) {
// 访问元素
vector<int> elem = *it;
// 对元素进行操作
for (int i = 0; i < elem.size(); ++i) {
cout << elem[i] << " ";
}
cout << endl;
}
```
以上代码在遍历set元素时,使用了迭代器的方式访问每一个元素。同时,使用取值运算符将得到的迭代器指向的元素assign到一个vector<int>类型变量中,然后再对该变量进行操作。
如果不想使用迭代器,也可以使用range-based for loop遍历set中的元素。示例代码如下:
```c++
set<vector<int>> s;
// 添加元素
vector<int> v1 = {1, 2, 3};
s.insert(v1);
vector<int> v2 = {4, 5, 6};
s.insert(v2);
// 遍历元素
for (vector<int> elem : s) {
// 对元素进行操作
for (int i = 0; i < elem.size(); ++i) {
cout << elem[i] << " ";
}
cout << endl;
}
```
以上代码在遍历set元素时,使用了range-based for loop方式,将set容器中的每一个元素都赋值到了一个vector<int>类型的变量中,然后再对该变量进行操作。
阅读全文