c++中multiset
时间: 2024-01-18 12:03:19 浏览: 86
C++-中的multiset容器
multiset 是 C++ 标准库中的一个容器,它是一个有序的集合,允许重复的元素存在。它在头文件 `<set>` 中定义。
multiset 可以存储任何可比较的数据类型,例如整数、浮点数、字符串等。它的特点是自动根据元素的值进行排序,并且允许重复的元素存在。
你可以使用 multiset 来实现一些需要有序集合且允许重复元素的算法或数据结构。它提供了插入、删除、查找等常见操作,并且具有良好的性能。
以下是 multiset 的一些常用操作示例:
```cpp
#include <iostream>
#include <set>
int main() {
std::multiset<int> mySet;
// 插入元素
mySet.insert(5);
mySet.insert(2);
mySet.insert(3);
mySet.insert(5); // 允许重复元素
// 遍历元素
for (auto it = mySet.begin(); it != mySet.end(); ++it) {
std::cout << *it << " ";
}
std::cout << std::endl;
// 查找元素
auto it = mySet.find(3);
if (it != mySet.end()) {
std::cout << "Found!" << std::endl;
} else {
std::cout << "Not found!" << std::endl;
}
// 删除元素
mySet.erase(2);
// 输出剩余元素
for (int elem : mySet) {
std::cout << elem << " ";
}
std::cout << std::endl;
return 0;
}
```
这只是 multiset 的基本用法,你也可以通过使用迭代器、自定义排序规则等来扩展其功能。
阅读全文