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


C++ set emplace_hint()用法及代码示例


set::emplace_hint()是C++ STL中的内置函数,可在集合中插入新元素。在函数的参数中传递一个位置,该位置作为提示,在将元素插入其当前位置之前从搜索操作开始。该位置仅有助于使过程更快,而不能确定要在哪里插入新元素。仅在set容器的属性之后插入新元素。

用法:

set_name.emplace_hint(iterator position, value) 

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


  • position:该参数用作在元素当前位置插入元素之前从中进行搜索操作的提示。该位置仅有助于加快处理速度,而不能确定要在哪里插入新元素。仅在set容器的属性之后插入新元素。
  • value:这指定要插入到集合容器中的元素。如果该值以前不存在,则将其插入到集合中。

返回值:该函数返回一个迭代器,该迭代器指向插入位置。如果在参数中传递的元素已经存在,则它将返回一个迭代器,该迭代器指向现有元素所在的位置。

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

// CPP program to demonstrate the 
// set::emplace_hint() function 
#include <bits/stdc++.h> 
using namespace std; 
int main() 
{ 
  
    set<int> s; 
    auto it = s.emplace_hint(s.begin(), 1); 
  
    // stores the position of 2's insertion 
    it = s.emplace_hint(it, 2); 
  
    // fast step as it directly 
    // starts the search step from 
    // position where 3 was last inserted 
    s.emplace_hint(it, 3); 
  
    // this is a slower step as 
    // it starts checking from the 
    // position where 3 was inserted 
    // but 0 is to be inserted before 1 
    s.emplace_hint(it, 0); 
  
    // prints the set elements 
    for (auto it = s.begin(); it != s.end(); it++) 
        cout << *it << " "; 
  
    return 0; 
}
输出:
0 1 2 3


相关用法


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