📅  最后修改于: 2023-12-03 15:29:42.143000             🧑  作者: Mango
多集是 C++ STL 中的一个容器,它类似于集合,但允许存储相同的元素。多集提供了快速的插入、查找、删除元素的操作。
在使用多集时,有时需要删除特定的元素或者所有相同的元素。可以使用 delete()
函数来完成这些操作。
void delete (const T& val);
void delete (const iterator& position);
void delete (const iterator& first, const iterator& last);
val
:需要删除的元素的值。position
:需要删除的元素的迭代器。first
和 last
:需要删除元素的范围,包括 first 但不包括 last。delete()
函数没有返回值。
#include <iostream>
#include <set>
int main() {
std::multiset<int> myset = {1, 2, 2, 3, 4, 2, 5};
std::cout << "Before delete: ";
for (const auto& x : myset) {
std::cout << x << " ";
}
std::cout << std::endl;
myset.delete(2);
std::cout << "After delete: ";
for (const auto& x : myset) {
std::cout << x << " ";
}
std::cout << std::endl;
return 0;
}
输出:
Before delete: 1 2 2 3 4 2 5
After delete: 1 3 4 5
#include <iostream>
#include <set>
int main() {
std::multiset<int> myset = {1, 2, 2, 3, 4, 2, 5};
std::cout << "Before delete: ";
for (const auto& x : myset) {
std::cout << x << " ";
}
std::cout << std::endl;
myset.delete(myset.begin(), myset.end());
std::cout << "After delete: ";
for (const auto& x : myset) {
std::cout << x << " ";
}
std::cout << std::endl;
return 0;
}
输出:
Before delete: 1 2 2 3 4 2 5
After delete: