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


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。