在C++ STL中使用multimap insert()

在C++ STL中使用multimap insert()

multimap::insert 是C++ STL中的一个内置函数,用于在multimap容器中插入元素。

语法:

iterator multimap_name.insert({key,element})

参数: 该函数接受一对由键和要插入的元素组成的键值对。

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

// C++程序示例
// multimap::insert({key,element})
#include <bits/stdc++.h>
using namespace std;

int main()
{

    //初始化容器
    multimap<int,int>mp;

    //以随机顺序插入元素
    mp.insert({2,30});
    mp.insert({1,40});
    mp.insert({3,60});
    mp.insert({2,20});
    mp.insert({5,50});

    //打印元素
    cout <<"KEY\tELEMENT\n";
    for(auto itr = mp.begin();itr != mp.end();++itr){
        cout << itr->first
            << '\t' << itr->second << '\n';
    }
    return 0;
}

输出:

KEY    ELEMENT
1    40
2    30
2    20
3    60
5    50

时间复杂度: O(logN),其中N是multimap的大小。

语法:

iterator multimap_name.insert(iterator position,{key,element})

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

  • {key,element}: 这指定了一个由键和要插入的元素组成的键值对,这将插入multimap容器中。
  • position: 这并不指定插入的位置,它只从要插入的位置开始查找操作。插入是按照multimap容器所遵循的顺序进行的。

语法:

iterator multimap_name.insert(iterator position1,iterator position2)

参数: 该函数接受两个参数:position1和position2,指定元素范围。插入范围[position1,last)中的所有元素均插入multimap容器中。

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

// C++程序示例
// multimap::insert({key,element})
#include <bits/stdc++.h>
using namespace std;

int main()
{

    //初始化容器
    multimap<int,int>mp;

    //以随机顺序插入元素
    mp.insert({2,30});
    mp.insert({1,40});

    auto it = mp.find(2);

    //从2的位置开始查找并插入{3,6}
    mp.insert(it,{3,60});

    //打印元素
    cout <<"KEY\tELEMENT\n";
    for(auto itr = mp.begin();itr != mp.end();++itr){
        cout << itr->first
            << '\t' << itr->second << '\n';
    }
    return0;
}

输出:

Elements in mp1 are
KEY    ELEMENT
1    40
2    30
3    60

时间复杂度: O(logn)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

C++ 教程