在本文中,我们将讨论 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
相关用法
- C++ Set cbegin()、cend()用法及代码示例
- C++ Set upper_bound()用法及代码示例
- C++ Set set()用法及代码示例
- C++ Set max_size()用法及代码示例
- C++ Set crbegin()、crend()用法及代码示例
- C++ Set equal_range()用法及代码示例
- C++ Set emplace_hint()用法及代码示例
- C++ Set count()用法及代码示例
- C++ Set get_allocator()用法及代码示例
- C++ String back()用法及代码示例
- C++ String append()用法及代码示例
- C++ Stack push()用法及代码示例
- C++ String Assign()用法及代码示例
- C++ Stack empty()用法及代码示例
- C++ SHRT_MIN用法及代码示例
- C++ Stack size()用法及代码示例
- C++ String size()用法及代码示例
- C++ String resize()用法及代码示例
- C++ String swap()用法及代码示例
- C++ complex Sinh()用法及代码示例
注:本文由纯净天空筛选整理自Sunidhi Bansal大神的英文原创作品 Set insert() in C++ STL。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。