在 C++ STL 中multimap::begin() 和 multimap::end() 的使用

在 C++ STL 中multimap::begin() 和 multimap::end() 的使用

multimap::begin() 是 C++ STL 中的一个内置函数,它返回一个指向 multimap 容器中第一个元素的迭代器。由于 multimap 容器按照一定的顺序存储元素,begin() 函数会指向容器根据排序标准排在第一的元素。

语法:

multimap_name.begin()

参数: 此函数不接受任何参数。

返回值: 此函数返回一个迭代器,指向 multimap 容器中第一个元素。

示例:

#include <iostream>
#include <map>

int main()
{
    // 创建一个将 int 映射到 string 的 multimap
    std::multimap<int, std::string> mmap = {
        {1, "one"},
        {2, "two"},
        {3, "three"},
        {3, "three again"},
    };

    // 打印 multimap 的第一个和最后一个元素
    std::cout << "First: " << mmap.begin()->second << std::endl;
    std::cout << "Last: " << (--mmap.end())->second << std::endl;



    return 0;
}

输出:

First: one
Last: three again
// C++ 函数示例
// 演示 multimap::begin() 函数

#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({ 4, 20 });
    mp.insert({ 5, 50 });

    auto ite = mp.begin();

    cout << "\nThe first element is: {"
         << ite->first
         << ", " << ite->second
         << "}" << endl;

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

输出:

The first element is: {1, 40}

The multimap is :
KEY    ELEMENT
1    40
2    30
3    60
4    20
5    50

multimap::end() 是 C++ STL 中的一个内置函数,它返回一个迭代器,指向 multimap 的最后一个元素之后的理论位置。由于 multimap 容器按照一定的顺序存储元素,end() 函数会指向那个理论位置,该位置在根据排序标准排在最后一个元素之后。

语法:

multimap_name.end()

参数: 此函数不接受任何参数。

返回值: 此函数返回一个迭代器,指向 multimap 容器的最后一个元素之后的理论位置。

// C ++函数以说明multimap :: end()函数
#include 
using namespace std;

int main()
{

    // 初始化容器
    multimap mp;

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

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

Output:

The multimap is :
KEY    ELEMENT
1    40
2    30
3    60
4    20
5    50

让我们看看下表中的差异,如下所示:

multimap :: begin() multimap :: end()
它用于返回多映射容器中第一个元素的引用迭代器。 它用于返回多映射容器中过去的末尾元素的迭代器。
语法为 -:iterator begin(); 语法为 -:iterator end();
它不需要任何参数。 它不需要任何参数。
它的复杂度是常数。 它的复杂度是常数。
它的迭代器有效性不会发生变化。 它的迭代器有效性不会发生变化。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

C++ 教程