在C++ STL中的unordered_multiset insert()函数
unordered_multiset ::insert()是C++ STL中的内置函数,用于在unordered_multiset中插入新元素。这将增加容器的大小。还要注意,具有相同值的元素也会根据插入次数进行存储。
语法:
Unordered_multiset_name.insert(element)
参数: 此函数接受单个参数 element 。它指定要插入容器的元素。
返回值: 该函数返回一个迭代器,指向新插入的元素。
以下程序说明了上述函数:
程序1:
// unordered_multiset::insert
#include <array>
#include <iostream>
#include <string>
#include <unordered_set>
using namespace std;
int main()
{
unordered_multiset<string> ums = { "apple", "orange", "banana" };
array<string, 3> arr = { "cherry", "mango", "apple"};
string str = "grapes";
ums.insert(str); // copy insertion
ums.insert(arr.begin(), arr.end()); // range insertion
ums.insert({ "pineapple", "papaya" }); // initializer list insertion
cout << "ums contains:";
for (const string& x : ums)
cout << " " << x;
cout << endl;
return 0;
}
输出
ums contains: papaya pineapple mango cherry grapes banana apple apple orange
程序2:
// unordered_multiset::insert
#include <array>
#include <iostream>
#include <string>
#include <unordered_set>
#include <vector>
#include <bits/stdc++.h>
using namespace std;
int main()
{
unordered_multiset<int> ums = {2, 4, 6};
vector<int> x;
x.push_back(3);
x.push_back(9);
x.push_back(4);
int val = 5;
ums.insert(val); // copy insertion
ums.insert(x.begin(), x.end()); // range insertion
ums.insert({ 7, 8 }); // initializer list insertion
cout << "ums contains:";
for (const int& x : ums)
cout << " " << x;
cout << endl;
return 0;
}
输出
ums contains: 8 7 9 3 2 4 4 6 5