给定一个列表,我们必须以相反的顺序迭代所有元素,并在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