在本文中,我们将讨论 C++ STL 中的 set::emplace_hint() 函数、它们的语法、工作和返回值。
C++ STL 中的 Set 是什么?
C++ STL 中的集合是容器,它们必须按一般顺序具有唯一元素。集合必须具有唯一的元素,因为元素的值标识了元素。一旦在 set 容器中添加了一个值,以后就无法修改,尽管我们仍然可以将这些值删除或添加到 set 中。集合用作二叉搜索树。
设置内容::emplace_hint()
emplace_hint() 函数是 C++ STL 的内置函数,定义在头文件中。此函数在集合容器中插入一个具有位置的新元素。在 emplace_hint() 中,我们传递带有位置的元素,该位置充当提示。当且仅当没有其他值等于要插入的值时才插入元素。该函数从提示位置开始搜索,并找到要放置元素的位置。
用法
Set1.emplace_hint(iterator position, const type_t& value);
参数
这个函数接受两个参数,一个是提示位置,第二个是要放置的元素。
Position- 这是提示位置,从这里开始搜索找到要放置的值的位置。这个位置恰好使函数的工作更快,这个函数没有指定要放置的元素的确切位置。
Value- 我们必须实现的真正价值。
返回值
如果元素插入成功,此函数将迭代器返回到新插入的元素。
示例
Input:set mySet;
mySet.emplace_hint(mySet.begin(), 0);
mySet.emplace_hint(i, 1);
mySet.emplace_hint(i, 2);
mySet.emplace_hint(i, 1);
Output:Elements are:0 1 2
示例
#include <bits/stdc++.h>
using namespace std;
int main(){
set<int> mySet;
auto i = mySet.emplace_hint(mySet.begin(), 0);
i = mySet.emplace_hint(i, 1);
mySet.emplace_hint(i, 2);
mySet.emplace_hint(i, 1);
cout<<"elements are:";
for (auto i = mySet.begin(); i != mySet.end(); i++)
cout << *i<< " ";
return 0;
}
输出
如果我们运行上面的代码,那么它将生成以下输出 -
Elements are:0 1 2
示例
#include <iostream>
#include <set>
#include <string>
int main (){
std::set<std::string> mySet;
auto i = mySet.cbegin();
mySet.emplace_hint (i,"best");
i = mySet.emplace_hint (mySet.cend(),"point");
i = mySet.emplace_hint (i,"is the");
i = mySet.emplace_hint (i,"tutorials");
std::cout<<"string is:";
for(const std::string& str:mySet)
std::cout << ' ' << str;
std::cout << '\n';
return 0;
}
输出
如果我们运行上面的代码,那么它将生成以下输出 -
String is:best is the point tutorials
相关用法
- C++ Set equal_range()用法及代码示例
- C++ Set cbegin()、cend()用法及代码示例
- C++ Set upper_bound()用法及代码示例
- C++ Set set()用法及代码示例
- C++ Set max_size()用法及代码示例
- C++ Set crbegin()、crend()用法及代码示例
- C++ Set count()用法及代码示例
- C++ Set insert()用法及代码示例
- C++ Set get_allocator()用法及代码示例
- C++ String back()用法及代码示例
- C++ String append()用法及代码示例
- C++ Stack push()用法及代码示例
- C++ String Assign()用法及代码示例
- C++ Stack empty()用法及代码示例
- C++ SHRT_MIN用法及代码示例
- C++ Stack size()用法及代码示例
- C++ String size()用法及代码示例
- C++ String resize()用法及代码示例
- C++ String swap()用法及代码示例
- C++ complex Sinh()用法及代码示例
注:本文由纯净天空筛选整理自Sunidhi Bansal大神的英文原创作品 Set emplace_hint() function in C++ STL。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。