當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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++?。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。