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


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


multiset::insert(是C++ STL中的内置函数,可在多集容器中插入元素,或将元素从一个位置插入到另一个位置(从一个多集到另一个多集)。

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

    参数:该函数接受要插入到多集容器中的强制性参数element 。

    返回值:该函数返回一个指向多元素容器中插入元素的迭代器。


    以下示例程序旨在说明上述函数:

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

    参数:该函数接受两个参数,如下所述:

    • element:它指定要在多集容器中插入的元素。
    • position:它没有指定要插入的位置,它仅指向要开始搜索操作以插入的位置,以加快处理速度。插入是根据多集容器遵循的顺序完成的。

    返回值:该函数返回一个指向多元素容器中插入元素的迭代器。

    以下示例程序旨在说明上述函数:

    // CPP program to demonstrate the 
    // multiset::insert(iterator, element) function 
    #include <bits/stdc++.h> 
    using namespace std; 
    int main() 
    { 
      
        multiset<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, 1); 
        itr = s.insert(itr, 5); 
      
        // Slow insertion as position is 
        // not given correctly 
        itr = s.insert(s.begin(), 3); 
      
        cout << "The elements in multiset are: "; 
        for (auto it = s.begin(); it != s.end(); it++) 
            cout << *it << " "; 
      
        return 0; 
    }
    输出:
    The elements in multiset are: 1 1 3 4 5
    
  3. 用法:
    iterator multiset_name.insert(iterator position1, iterator position2)
    

    参数:该函数接受两个参数position1和position2,它们指定元素的范围。范围[position1,last)内的所有元素都插入到另一个set容器中。

    返回值:该函数返回一个多重集,其中所有元素都在[position1,last)范围内。

    以下示例程序旨在说明上述函数:

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


相关用法


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