在本文中,我們將討論 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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。