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


C++ multimap insert()用法及代碼示例


multimap::insert是C++ STL中的內置函數,用於在多圖容器中插入元素。

  1. 用法:
    iterator multimap_name.insert({key, element})
    

    參數:該函數接受由鍵和要插入多圖容器中的元素組成的對。

    返回值:該函數返回一個指向容器中新元素的迭代器。


    // C++ program to illustrate 
    // multimap::insert({key, element}) 
    #include <bits/stdc++.h> 
    using namespace std; 
      
    int main() 
    { 
      
        // initialize container 
        multimap<int, int> mp; 
      
        // insert elements in random order 
        mp.insert({ 2, 30 }); 
        mp.insert({ 1, 40 }); 
        mp.insert({ 3, 60 }); 
        mp.insert({ 2, 20 }); 
        mp.insert({ 5, 50 }); 
      
        // prints the elements 
        cout << "KEY\tELEMENT\n"; 
        for (auto itr = mp.begin(); itr != mp.end(); ++itr) { 
            cout << itr->first 
                 << '\t' << itr->second << '\n'; 
        } 
        return 0; 
    }
    輸出:
    KEY    ELEMENT
    1    40
    2    30
    2    20
    3    60
    5    50
    
  2. 用法:
    iterator multimap_name.insert(iterator position, {key, element})
    

    參數:該函數接受兩個參數,如下所述:

    • {{key, element}這指定了一個由鍵和要插入多圖容器的元素組成的對。
    • position:這並不指定要插入的位置,它僅指向要開始搜索插入操作的位置。插入是根據多圖容器遵循的順序完成的。

    返回值:該函數返回一個指向容器中新元素的迭代器。

    // C++ program to illustrate 
    // multimap::insert({key, element}) 
    #include <bits/stdc++.h> 
    using namespace std; 
      
    int main() 
    { 
      
        // initialize container 
        multimap<int, int> mp; 
      
        // insert elements in random order 
        mp.insert({ 2, 30 }); 
        mp.insert({ 1, 40 }); 
      
        auto it = mp.find(2); 
      
        // inserts {3, 6} starting the search from 
        // position where 2 is present 
        mp.insert(it, { 3, 60 }); 
      
        // prints the elements 
        cout << "KEY\tELEMENT\n"; 
        for (auto itr = mp.begin(); itr != mp.end(); ++itr) { 
            cout << itr->first 
                 << '\t' << itr->second << '\n'; 
        } 
        return 0; 
    }
    輸出:
    KEY    ELEMENT
    1    40
    2    30
    3    60
    
  3. 用法:
    iterator multimap_name.insert(iterator position1, iterator position2)
    

    參數:該函數接受兩個參數position1和position2,它們指定元素的範圍。範圍[position1,last)範圍內的所有元素都插入了多圖容器。

    返回值:該函數返回一個指向容器中新元素的迭代器。

    // C++ program to illustrate 
    // multimap::insert({key, element}) 
    #include <bits/stdc++.h> 
    using namespace std; 
      
    int main() 
    { 
      
        // initialize container 
        multimap<int, int> mp, mp1; 
      
        // insert elements in random order 
        mp.insert({ 2, 30 }); 
        mp.insert({ 1, 40 }); 
      
        // inserts all elements in range [begin, end) 
        // in mp1 
        mp1.insert(mp.begin(), mp.end()); 
      
        // prints the elements 
        cout << "Elements in mp1 are\n"; 
        cout << "KEY\tELEMENT\n"; 
        for (auto itr = mp1.begin(); itr != mp1.end(); ++itr) { 
            cout << itr->first 
                 << '\t' << itr->second << '\n'; 
        } 
        return 0; 
    }
    輸出:
    Elements in mp1 are
    KEY    ELEMENT
    1    40
    2    30
    


相關用法


注:本文由純淨天空篩選整理自gopaldave大神的英文原創作品 multimap insert() in C++ STL。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。