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


C++ Set insert()用法及代码示例


在本文中,我们将讨论 C++ STL 中的 set::insert() 函数、它们的语法、工作和返回值。

C++ STL 中的 Set 是什么?

C++ STL 中的集合是容器,它们必须按一般顺序具有唯一元素。集合必须具有唯一的元素,因为元素的值标识了元素。一旦在 set 容器中添加了一个值,以后就无法修改,尽管我们仍然可以将这些值删除或添加到 set 中。集合用作二叉搜索树。

什么是 set::insert()?

insert() 函数是 C++ STL 的内置函数,定义在 <set> 头文件中。该函数用于在集合容器中插入元素。当我们插入元素时,容器的大小会随着插入元素的数量而增加。由于集合包含唯一值,insert() 不仅插入元素,它首先检查要插入的元素是否不存在于集合容器中。此外,在集合中所有元素都存储在排序位置,因此我们将插入的元素将根据其排序位置插入。

用法

Set1.insert(const type_t &value); ----(1)
Or
Set1.insert(iterator position, const type_t &value); -----(2)
Or
Set1.insert(iterator position_1, iterator position_2); -----(3)

参数

  • value - 它是要插入到设置容器中的值。

  • position - 它是位置的提示,它将从此位置开始搜索并插入适合插入的元素。

  • position_1, position_2 - 这些是指定要插入与 insert() 关联的集合中的范围的迭代器。 position_1 表示范围的开始,position_2 表示范围的结束。

返回值

该函数根据函数中传递的参数返回不同类型的值。

  • 当我们只传递值时;该函数返回指向被插入到集合容器中的元素的迭代器。

  • 当我们传递带有值的位置时;该函数再次返回指向被插入到集合容器中的元素的迭代器。

  • 当我们通过 position_1 和 position_2 时;该函数返回从 position_1 开始到 position_2 结束的范围之间的一组值。

例子

Input:set<int> myset;
   myset.insert(10);
Output:values in the set = 10
Input:set <int> myset = {11, 12, 13, 14};
   myset.insert(myset.begin(), 10);
Output:values in the set = 10 11 12 13 14

示例

在队列中插入集合中的元素,即一个接一个

#include <bits/stdc++.h>
using namespace std;
int main(){
   set<int> mySet;
   mySet.insert(10);
   mySet.insert(20);
   mySet.insert(30);
   mySet.insert(40);
   mySet.insert(50);
   cout<<"Elements are:";
   for (auto i = mySet.begin(); i != mySet.end(); i++)
      cout << *i << " ";
   return 0;
}

输出

如果我们运行上面的代码,那么它将生成以下输出 -

Elements are:10 20 30 40 50

示例

根据位置将元素插入到集合中

#include <bits/stdc++.h>
using namespace std;
int main(){
   set<int> mySet;
   auto i = mySet.insert(mySet.begin(), 10);
   i = mySet.insert(i, 20);
   i = mySet.insert(i, 40);
   i = mySet.insert(i, 30);
   i = mySet.insert(i, 80);
   i = mySet.insert(mySet.end(), 90);
   cout<<"Elements are:";
   for (auto i = mySet.begin(); i != mySet.end(); i++)
      cout << *i << " ";
   return 0;
}

输出

如果我们运行上面的代码,那么它将生成以下输出 -

Elements are:10 20 30 40 80 90

相关用法


注:本文由纯净天空筛选整理自Sunidhi Bansal大神的英文原创作品 Set insert() in C++ STL。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。