📅  最后修改于: 2023-12-03 14:39:53.022000             🧑  作者: Mango
C++ STL(Standard Template Library)提供了许多容器和算法,使编程更加简单和高效。在容器中,多集(multiset)是一个非常有用的容器,它允许在一个集合中有多个相同的元素。本文将介绍 C++ STL 中多集的 insert() 函数。
insert()
函数是用于向多集(multiset)中插入元素的函数。它有多种用法,可以插入一个元素,插入一个由迭代器定义的范围内的多个元素,或者插入一个初始化列表(initializer list)中的多个元素。下面是 insert()
函数的语法:
// 插入一个元素 val
multiset.insert(val);
// 插入起始迭代器 begin 到终止迭代器 end 之间的元素
multiset.insert(begin, end);
// 插入多个元素 {val1, val2, ... valn}
multiset.insert({val1, val2, ..., valn});
下面是一个单元素插入的示例:
#include <iostream>
#include <set>
using namespace std;
int main()
{
multiset<int> myset;
// 添加元素
myset.insert(10);
myset.insert(20);
// 显示元素
for (auto iter = myset.begin(); iter != myset.end(); ++iter)
cout << *iter << " ";
return 0;
}
上面的代码创建了一个名为 myset
的多集,并向其中插入了两个元素:10
和 20
。在使用 C++ 的标准迭代器进行循环遍历时,可以看到多集中有两个相同的元素 10
和 20
。以下是输出结果:
10 20
下面是一个多元素插入的示例:
#include <iostream>
#include <set>
using namespace std;
int main()
{
multiset<int> myset;
// 添加元素,插入多个元素
myset.insert({10, 20, 30, 40, 50});
// 显示元素
for (auto iter = myset.begin(); iter != myset.end(); ++iter)
cout << *iter << " ";
return 0;
}
上面的代码创建了一个名为 myset
的多集,并向其中插入了五个元素:10
、20
、30
、40
和 50
。在使用 C++ 的标准迭代器进行循环遍历时,可以看到多集中有多个相同的元素。以下是输出结果:
10 20 30 40 50
下面是一个迭代器范围插入的示例:
#include <iostream>
#include <set>
using namespace std;
int main()
{
multiset<int> myset;
// 创建一个 vector 容器
vector<int> vec = {100, 200, 300, 400};
// 将 vec 容器的元素迭代器范围添加到多集中
myset.insert(vec.begin(), vec.end());
// 显示元素
for (auto iter = myset.begin(); iter != myset.end(); ++iter)
cout << *iter << " ";
return 0;
}
上面的代码创建了一个名为 myset
的多集,并向其中插入了一个 vector 容器中的四个元素:100
、200
、300
和 400
。在使用 C++ 的标准迭代器进行循环遍历时,可以看到多集中有多个相同的元素。以下是输出结果:
100 200 300 400
insert()
函数是用于向多集中插入元素的函数,它可以插入单个元素、多个元素和迭代器范围中的多个元素。在使用时,需要注意多集中可以有多个相同的元素。