当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C++ Vector转Multiset用法及代码示例


在 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)


相关用法


注:本文由纯净天空筛选整理自shivanshmahajan876大神的英文原创作品 How to Convert Vector to Multiset in C++?。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。