c++ set 遍历
时间: 2024-03-16 22:39:11 浏览: 213
C++中的set是一种有序的容器,它存储唯一的元素,并按照升序进行排序。要遍历set,可以使用迭代器或范围循环。
使用迭代器遍历set的示例代码如下:
```cpp
#include <iostream>
#include <set>
int main() {
std::set<int> mySet = {1, 2, 3, 4, 5};
// 使用迭代器遍历set
std::set<int>::iterator it;
for (it = mySet.begin(); it != mySet.end(); ++it) {
std::cout << *it << " ";
}
return 0;
}
```
使用范围循环遍历set的示例代码如下:
```cpp
#include <iostream>
#include <set>
int main() {
std::set<int> mySet = {1, 2, 3, 4, 5};
// 使用范围循环遍历set
for (const auto& element : mySet) {
std::cout << element << " ";
}
return 0;
}
```
相关问题
c++ unordered_set 遍历
c++中的unordered_set是一种哈希表的实现,它可以用来存储一组不重复的元素。遍历unordered_set可以使用迭代器或者C++11的新语法auto关键字。具体方法如下:
1.使用迭代器:
for(unordered_set<int>::iterator it=s.begin(); it!=s.end(); it++) {
cout<<*it<<" ";
}
2.使用C++11的新语法auto关键字:
for(auto it:s) {
cout<<it<<" ";
}
需要注意的是,unordered_set是无序的,因此遍历的顺序也是无序的。
c++中set遍历string跟int有区别吗
在C++中,`set`是一种关联容器,它内部实现了排序,并且每个元素都是唯一的。当你使用`set`遍历字符串(`std::set<std::string>`)或整数(`std::set<int>`),遍历的过程实际上是按照集合内的排序顺序进行的,因为`set`会自动对元素进行比较。
然而,遍历操作本身没有本质的区别,无论是字符串还是整数,遍历`set`时都会按值(也就是字符串的字典序或整数的大小)进行迭代。每次迭代,你会得到当前集合中的下一个最小或最大元素(对于无序集合,如`unordered_set`,则是插入顺序)。代码示例如下:
```cpp
std::set<std::string> stringSet = {"apple", "banana", "cherry"};
for (const auto& str : stringSet) {
std::cout << str << " ";
}
std::set<int> intSet = {5, 2, 8, 1};
for (const auto& num : intSet) {
std::cout << num << " ";
}
```
阅读全文