unordered_multiset emplace_hint() 函数在C++ STL中

unordered_multiset emplace_hint() 函数在C++ STL中

unordered_multiset::emplace_hint() 是C++ STL中的内置函数,它将一个新元素插入到unordered_multiset容器中。 它从参数提供的位置开始搜索元素插入点。 位置仅作为提示,不决定插入的位置。 根据容器的标准自动在位置上插入。 它将容器的大小增加一。

语法:

unordered_multiset_name.emplace_hint(iterator position, val)

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

  • position: 它指定指向要开始查找插入的位置的迭代器。
  • val: 它指定要插入到容器中的元素。

返回值: 它返回一个指向新插入的元素的迭代器。 下面的程序说明了上述功能:

程序1:

//C++程序说明
//unordered_multiset::emplace_hint()
#include
使用命名空间std;
 
int main()
{
 
    //声明
    unordered_multiset样本;
 
    //使用emplace_hint()插入元素
   
    //快速插入,因为搜索从先前插入的位置开始搜索
    auto it = sample.emplace_hint(sample.begin(), 11);
    it = sample.emplace_hint(it, 11);
    it = sample.emplace_hint(it, 11);
 
    //慢速插入,因为搜索从容器的开头开始
    sample.emplace_hint(sample.begin(), 12);
    sample.emplace_hint(sample.begin(), 13);
    sample.emplace_hint(sample.begin(), 13);
    sample.emplace_hint(sample.begin(), 14);
 
    cout << “元素:”;
 
    for (auto it = sample.begin(); it!= sample.end(); it++)
        cout << *it <<“ ”;
    return 0;
}

输出:

Elements: 14 11 11 11 12 13 13

时间复杂度: O(n)

辅助空间: O(n)

程序2:

//C++程序说明
//unordered_multiset::emplace_hint()函数
#include 
using namespace std;
 
int main()
{
 
    //声明
    unordered_multiset样本;
 
    //使用emplace_hint()插入元素
   
    //快速插入,因为搜索从先前插入的位置开始搜索
    auto it = sample.emplace_hint(sample.begin(),'a');
    it = sample.emplace_hint(it,'a');
    it = sample.emplace_hint(it,'a');
    it = sample.emplace_hint(it,'b');
 
    //慢速插入,因为搜索从容器的开头开始
    sample.emplace('b');
    sample.emplace('c');
    sample.emplace('d');
 
    cout << “元素:”;
 
    for (auto it = sample.begin(); it!= sample.end(); it++)
        cout << *it << “ ”;
    return 0;
}

输出:

Elements: d a a a b b c

时间复杂度: O(n)

辅助空间: O(n)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

C++ 教程