C++ STL中的multimap::crbegin()和multimap::crend()

C++ STL中的multimap::crbegin()和multimap::crend()

  • multimap::crbegin() 是C++ STL中的一个内置函数,它返回一个常量反向迭代器,指向multimap容器中的最后一个元素。由于multimap容器以一种有序的方式包含元素,因此crbegin()将指向根据容器排序标准最后出现的那个元素。

语法:

multimap_name.crbegin()

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

返回值: 该函数返回一个常量反向迭代器,指向multimap容器中的最后一个元素。

简单示例:

#include <vector>
#include <iostream>

int main() {
  std::vector<int> vec {1, 2, 3, 4, 5};

  // 以相反的顺序迭代vec的元素
  for (auto it = vec.crbegin(); it != vec.crend(); ++it) {
    std::cout << *it << ' ';
  }
  std::cout << std::endl;

  return 0;
}

输出

5 4 3 2 1 
// C++程序示例
// multimap::crbegin()函数
#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.crbegin();
    cout << "最后一个元素是 {" << ite->first
    << ", " << ite->second << "}\n";

    // 打印元素
    cout << "\n以相反的顺序打印multimap: \n";
    cout << "键\t元素\n";
    for (auto itr = mp.crbegin(); itr != mp.crend(); ++itr) {
        cout << itr->first
              << '\t' << itr->second << '\n';
    }
    return 0;
}

输出

最后一个元素是 {5, 50}

以相反的顺序打印multimap: 
键    元素
5    50
4    20
3    60
2    30
1    40
  • multimap::crend() 是C++ STL中的一个内置函数,它返回一个常量反向迭代器,指向multimap容器中第一个元素之前的一个理论元素。由于multimap容器以一种有序的方式包含元素,因此crend()将指向根据容器排序标准理论上位于第一个元素之前的元素。

语法:

multimap_name.crend()

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

返回值: 该函数返回一个常量反向迭代器,指向multimap容器中第一个元素之前的一个理论元素。

// C++程序示例
// multimap::crend()函数
#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 });

    // 打印元素
    cout << "\n以相反的顺序打印multimap: \n";
    cout << "键\t元素\n";
    for (auto itr = mp.crbegin(); itr != mp.crend(); ++itr) {
        cout << itr->first
              << '\t' << itr->second << '\n';
    }
    return 0;
}

输出

反向multimap是:
关键字    元素
5    50
4    20
3    60
2    30
1    40

让我们看一下表格形式的不同之处:

ID multimap::crbegin() multimap::crend()
1. 它用于返回指向容器中最后一个元素的const_reverse_iterator 它用于返回指向容器中第一个元素前面的理论元素的const_reverse_iterator
2. 它的语法是:const_reverse_iterator crbegin(); 它的语法是:const_reverse_iterator crend();
3. 它不采用任何参数。 它不采用任何参数。
4. 它的复杂度是常数级别。 它的复杂度是常数级别。
5. 它的迭代器有效性不会发生改变。 它的迭代器有效性不会发生改变。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

C++ 教程