📜  C++ STL中的unordered_set insert()函数

📅  最后修改于: 2021-05-30 15:13:28             🧑  作者: Mango

unordered_set :: insert()是C++ STL中的内置函数,用于在unordered_set容器中插入新的{element}。仅当每个元素与容器中已经存在的任何其他元素不相等时才插入每个元素(unordered_set中的元素具有唯一值)。插入会根据容器的标准自动在该位置进行。这通过插入的元素数量有效地增加了容器的大小。

句法:

unordered_set_name.insert (Value)

or,

unordered_set_name.insert (InputIterator first, InputIterator last)

参数:

  • :它指定要插入到容器中的值。
  • firstlast :指定元素范围的迭代器。范围为[first,last)的元素的副本将插入到unordered_set容器中。请记住,范围包括从first到last的所有元素,包括first指向的元素,而不是last指向的元素。

返回值:该函数返回一个迭代器,该迭代器指向容器中新插入的元素或键等效的元素。

下面的程序说明了上述函数:

程序1

#include
#include 
#include 
using namespace std;
  
int main()
{
    unordered_set 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 
#include 
#include 
#include 
using namespace std;
  
int main()
{
    unordered_set mySet = { "first", 
                                "third", "second" };
    array 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
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程”