给定一个列表,我们必须以相反的顺序迭代所有元素,并在C ++ STL中以新行打印。
要在C ++ STL中以相反的顺序迭代列表,我们需要一个reverse_iterator,它应该以列表的最后一个元素初始化,作为相反的顺序,我们需要检查它直到列表的末尾。
列出反向迭代器声明:
list<int>::reverse_iterator revit;
函数list::rbegin()返回一个反向迭代器,该迭代器从末尾指向第一个元素,或者可以说是反向开始。
语法:
list_name.rbegin();
函数list::rend()返回一个反向迭代器,该迭代器指向末尾的最后一个元素,或者我们可以说是反向结束。
语法:
list_name.rend();
示例
Input: list num{10, 20, 30, 40, 50} Output: List elements are: 50 40 30 20 10
程序:
#include <iostream> #include <list> using namespace std; int main() { //声明列表 list<int>num {10, 20, 30, 40, 50}; //声明一个迭代器 list<int>:: reverse_iterator revit; //使用begin()end()函数运行循环 cout<< "List elements are: " <<endl; for( revit=num.rbegin(); revit!=num.rend(); revit++ ) cout<< *revit<<endl; return 0; }
输出结果
List elements are: 50 40 30 20 10