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


C++ set insert()用法及代碼示例


set::insert是C++ STL中的內置函數,可在集合容器中插入元素或將元素從集合中的位置插入到另一個位置到另一個集合。

  1. 用法:
    iterator set_name.insert(element)
    

    參數:該函數接受要插入到設置容器中的強製性參數element 。

    返回值:該函數返回一個迭代器,該迭代器指向容器中插入的元素。


    以下示例程序旨在說明上述函數:

    // CPP program to demonstrate the 
    // set::insert(element) function 
    #include <bits/stdc++.h> 
    using namespace std; 
    int main() 
    { 
      
        set<int> s; 
      
        // Function to insert elements 
        // in the set container 
        s.insert(1); 
        s.insert(4); 
        s.insert(2); 
        s.insert(5); 
        s.insert(3); 
      
        cout << "The elements in set are: "; 
        for (auto it = s.begin(); it != s.end(); it++) 
            cout << *it << " "; 
      
        return 0; 
    }
    輸出:
    The elements in set are: 1 2 3 4 5
    
  2. 用法:
    iterator set_name.insert(iterator position, element)
    

    參數:該函數接受兩個參數,如下所述:

    • element:它指定要插入到集合容器中的元素。
    • position:它不指定要插入的位置,它僅指向要開始搜索操作以插入的位置,以加快處理速度。插入是根據設置的容器遵循的順序完成的。

    返回值:該函數返回一個迭代器,該迭代器指向容器中插入的元素。

    以下示例程序旨在說明上述函數:

    // CPP program to demonstrate the 
    // set::insert(iterator, element) function 
    #include <bits/stdc++.h> 
    using namespace std; 
    int main() 
    { 
      
        set<int> s; 
      
        // Function to insert elements 
        // in the set container 
        auto itr = s.insert(s.begin(), 1); 
      
        // the time taken to insertion 
        // is very less as the correct 
        // position for isnertion is given 
        itr = s.insert(itr, 4); 
        itr = s.insert(itr, 2); 
        itr = s.insert(itr, 5); 
        itr = s.insert(itr, 3); 
      
        cout << "The elements in set are: "; 
        for (auto it = s.begin(); it != s.end(); it++) 
            cout << *it << " "; 
      
        return 0; 
    }
    輸出:
    The elements in set are: 1 2 3 4 5
    
  3. 用法:
    iterator set_name.insert(iterator position1, iterator position2)
    

    參數:該函數接受兩個參數position1和position2,它們指定元素的範圍。範圍[position1,last)內的所有元素都插入到另一個set容器中。

    返回值:該函數返回一個集合,其中所有元素都在[position1,last)範圍內。

    以下示例程序旨在說明上述函數:

    // CPP program to demonstrate the 
    // set::insert(iterator1, iterator2) function 
    #include <bits/stdc++.h> 
    using namespace std; 
    int main() 
    { 
      
        set<int> s1; 
      
        // Function to insert elements 
        // in the set container 
        s1.insert(1); 
        s1.insert(4); 
        s1.insert(2); 
        s1.insert(5); 
        s1.insert(3); 
      
        cout << "The elements in set1 are: "; 
        for (auto it = s1.begin(); it != s1.end(); it++) 
            cout << *it << " "; 
      
        set<int> s2; 
      
        // Function to insert one set to another 
        // all elements from where 3 is to end is 
        // inserted to set2 
        s2.insert(s1.find(3), s1.end()); 
      
        cout << "\nThe elements in set2 are: "; 
        for (auto it = s2.begin(); it != s2.end(); it++) 
            cout << *it << " "; 
      
        return 0; 
    }
    輸出:
    The elements in set1 are: 1 2 3 4 5 
    The elements in set2 are: 3 4 5
    


相關用法


注:本文由純淨天空篩選整理自gopaldave大神的英文原創作品 set insert() function in C++ STL。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。