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


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


unordered_set::insert()是C++ STL中的內置函數,用於在unordered_set容器中插入新的{element}。僅當每個元素與容器中已經存在的任何其他元素不相等時才插入每個元素(unordered_set中的元素具有唯一值)。插入會根據容器的標準自動在該位置進行。這通過插入的元素數量有效地增加了容器的大小。

用法:

unordered_set_name.insert (Value)

or,

unordered_set_name.insert (InputIterator first, InputIterator last)

參數:


  • Value:指定要插入到容器中的值。
  • first,最後:指定元素範圍的迭代器。範圍為[first,last)的元素的副本將插入unordered_set容器中。請記住,範圍包括first和last之間的所有元素,包括first指向的元素,但last指向的元素。

返回值:該函數返回一個迭代器,該迭代器指向容器中新插入的元素或鍵等效的元素。

以下示例程序旨在說明上述函數:

示例1:

#include<iostream> 
#include <string> 
#include <unordered_set> 
using namespace std; 
  
int main() 
{ 
    unordered_set<string> mySet = { "first", "third" }; 
  
    string myString = "tenth"; 
  
    // inserts key in set 
    mySet.insert(myString); 
  
    cout << "My set contains:"
         << endl; 
    for (const string& x : mySet) { 
        cout << x 
             << " "; 
    } 
  
    cout << endl; 
    return 0; 
}
輸出:
My set contains:
tenth first third

示例2:

// C++ program to illustrate 
// unordered_set::insert() 
  
#include <array> 
#include <iostream> 
#include <string> 
#include <unordered_set> 
using namespace std; 
  
int main() 
{ 
    unordered_set<std::string> mySet = { "first",  
                                "third", "second" }; 
    array<std::string, 2> myArray = { "tenth",  
                                      "seventh" }; 
    string myString = "ninth"; 
  
    mySet.insert(myString); 
  
    // array elements range insertion in set 
    mySet.insert(myArray.begin(), myArray.end()); 
  
    // initializer list insertion 
    mySet.insert({ "fourth", "sixth" }); 
  
    cout << "myset contains:"
         << endl; 
    for (const string& x : mySet) { 
        cout << x 
             << " "; 
    } 
    cout << endl; 
  
    return 0; 
}
輸出:
myset contains:
sixth fourth seventh first tenth second third ninth


相關用法


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