📜  C++ STL中的map rend()函数(1)

📅  最后修改于: 2023-12-03 15:13:56.506000             🧑  作者: Mango

C++ STL中的map rend()函数

在 C++ STL 中,map 是一种关联式容器,用于存储键值对。map 容器按照键来排序,因此它提供了快速的查找能力。

map 提供了以下常用的函数:

  • begin():返回指向第一个键值对的迭代器
  • end():返回指向最后一个键值对后面的迭代器
  • rbegin():返回指向最后一个键值对的迭代器
  • rend():返回指向第一个键值对前面的迭代器
  • size():返回容器中键值对的数量
  • insert():插入一个新的键值对
  • erase():删除一个键值对
  • find():查找一个键对应的值

本文将着重介绍 rend() 函数。

功能

rend() 函数返回一个指向第一个键值对前面的迭代器。通常在 for 循环中使用 rend() 函数来倒序遍历 map 容器。例如:

for (auto it = my_map.rbegin(); it != my_map.rend(); ++it) {
    // ...
}
示例代码
#include <iostream>
#include <map>

int main() {
    std::map<char, int> my_map {{'a', 1}, {'b', 2}, {'c', 3}, {'d', 4}, {'e', 5}};

    // 遍历 map 容器
    std::cout << "按顺序遍历 map 容器:" << std::endl;
    for (auto it = my_map.begin(); it != my_map.end(); ++it) {
        std::cout << it->first << " : " << it->second << std::endl;
    }
    std::cout << "按逆序遍历 map 容器:" << std::endl;
    for (auto it = my_map.rbegin(); it != my_map.rend(); ++it) {
        std::cout << it->first << " : " << it->second << std::endl;
    }

    return 0;
}

输出结果如下:

按顺序遍历 map 容器:
a : 1
b : 2
c : 3
d : 4
e : 5
按逆序遍历 map 容器:
e : 5
d : 4
c : 3
b : 2
a : 1
总结

rend() 函数返回一个指向第一个键值对前面的迭代器,通常在 for 循环中使用它来倒序遍历 map 容器。