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


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