在 C++ 中,向量是一个动态数组,允许我们按顺序存储多个元素,而 multiset 是一个容器,允许我们以某种排序顺序存储具有重复值的多个元素。在本文中,我们将学习如何在 C++ 中将向量转换为多重集。
例如
Input: myVector = {2, 4, 9, 1, 3, 5, 4, 3, 2} Output: myMultiset = {1, 2, 2, 3, 3, 4, 4, 5, 9}
在 C++ 中将向量分配给多重集
转换向量到多集在 C++ 中,我们可以简单地使用范围构造函数multiset
它将向量的迭代器作为参数。
多集范围构造函数的语法
multiset<type> myMultiset(first, last);
第一的迭代器指向范围的开始并且最后的迭代器指向范围的末尾。
在 C++ 中将向量转换为多重集的 C++ 程序
C++
// Program to demonstrate converting a vector to a multiset
#include <iostream>
#include <set>
#include <vector>
using namespace std;
int main()
{
// Creating a vector
vector<int> nums = {2, 4, 9, 1, 3, 5, 4, 3, 2};
// Converting vector to multiset
multiset<int> myMultiset(nums.begin(), nums.end());
// Printing the elements of the multiset
cout << "Elements of multiset are: ";
for (const auto& i : myMultiset) {
cout << i << " ";
}
return 0;
}
输出
Elements of multiset are: 1 2 2 3 3 4 4 5 9
时间复杂度:O(N logN),其中 N 是元素数量
空间复杂度:O(N)
相关用法
- C++ Vector转Set用法及代码示例
- C++ Vector assign()用法及代码示例
- C++ Vector at()用法及代码示例
- C++ Vector back()用法及代码示例
- C++ Vector begin()用法及代码示例
- C++ Vector capacity()用法及代码示例
- C++ Vector cbegin()用法及代码示例
- C++ Vector cend()用法及代码示例
- C++ Vector clear()用法及代码示例
- C++ Vector crbegin()用法及代码示例
- C++ Vector crend()用法及代码示例
- C++ Vector data()用法及代码示例
- C++ Vector emplace()用法及代码示例
- C++ Vector end()用法及代码示例
- C++ Vector erase()用法及代码示例
- C++ Vector front()用法及代码示例
- C++ Vector hypot()用法及代码示例
- C++ Vector insert()用法及代码示例
- C++ Vector max_size()用法及代码示例
- C++ Vector pop_back()用法及代码示例
- C++ Vector push_back()用法及代码示例
- C++ Vector rbegin()用法及代码示例
- C++ Vector rend()用法及代码示例
- C++ Vector resize()用法及代码示例
- C++ Vector size()用法及代码示例
注:本文由纯净天空筛选整理自shivanshmahajan876大神的英文原创作品 How to Convert Vector to Multiset in C++?。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。