讲解一下C++中multiset容器的用法
时间: 2023-08-16 17:06:44 浏览: 131
C++-中的multiset容器
multiset是C++标准库中的一个容器,它是一个有序的集合,允许重复的元素存在。它在头文件<set>中定义。
multiset容器的用法如下:
1. 创建multiset对象:
```cpp
std::multiset<int> mySet;
```
2. 插入元素:
使用insert()函数向multiset中插入元素。由于multiset允许重复的元素存在,因此可以插入相同的元素。
```cpp
mySet.insert(10);
mySet.insert(20);
mySet.insert(10);
```
3. 遍历multiset:
可以使用迭代器来遍历multiset中的元素。
```cpp
for(auto it = mySet.begin(); it != mySet.end(); ++it) {
std::cout << *it << " ";
}
```
4. 查找元素:
使用find()函数可以查找multiset中的元素。如果找到了指定的元素,则返回指向该元素的迭代器;如果没找到,则返回end()迭代器。
```cpp
auto it = mySet.find(20);
if(it != mySet.end()) {
std::cout << "Found: " << *it << std::endl;
} else {
std::cout << "Not found" << std::endl;
}
```
5. 删除元素:
使用erase()函数可以删除multiset中的元素。可以删除指定值的元素,也可以删除指定位置的元素。
```cpp
mySet.erase(10); // 删除所有值为10的元素
auto it = mySet.find(20);
if(it != mySet.end()) {
mySet.erase(it); // 删除指定位置的元素
}
```
multiset容器的特点是它的元素会根据特定的排序规则进行自动排序,因此在插入和删除元素时会有一定的性能开销。但是它提供了高效的查找操作,适用于需要有序且允许重复元素的场景。
阅读全文