c++ set map有序
时间: 2023-10-31 18:57:17 浏览: 91
是的,C++中的set和map都是有序的容器。
set是一种集合容器,它存储一组唯一的元素,并按照一定的顺序进行排序。set中的元素通常是自动按照升序排序的。
map是一种关联容器,它存储一组键值对(key-value pairs),并按照键的顺序进行排序。map中的元素也是按照键的升序排序的。
这两个容器默认情况下使用比较函数(默认是std::less)来进行元素的排序。你也可以自定义比较函数来定义排序规则。
以下是一个示例代码,展示了如何使用有序的set和map:
```cpp
#include <iostream>
#include <set>
#include <map>
int main() {
std::set<int> mySet;
// 插入元素
mySet.insert(5);
mySet.insert(2);
mySet.insert(8);
mySet.insert(1);
// 遍历并打印set中的元素
for (const auto& element : mySet) {
std::cout << element << " ";
}
std::cout << std::endl;
std::map<int, std::string> myMap;
// 插入键值对
myMap[5] = "apple";
myMap[2] = "banana";
myMap[8] = "orange";
myMap[1] = "grape";
// 遍历并打印map中的键值对
for (const auto& pair : myMap) {
std::cout << pair.first << ": " << pair.second << std::endl;
}
return 0;
}
```
在上面的示例中,我们首先创建了一个名为mySet的set对象,并使用insert函数插入了一些元素。然后,我们使用范围for循环遍历并打印set中的元素。接下来,我们创建了一个名为myMap的map对象,并使用键值对方式插入了一些元素
阅读全文