📅  最后修改于: 2023-12-03 15:13:56.506000             🧑  作者: Mango
在 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 容器。