當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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