以相反的顺序迭代列表(list :: rbegin()和list :: rend()函数的示例)C ++ STL

给定一个列表,我们必须以相反的顺序迭代所有元素,并在C ++ STL中以新行打印。

列出reverse_iterator

在C ++ STL中以相反的顺序迭代列表,我们需要一个reverse_iterator,它应该以列表的最后一个元素初始化,作为相反的顺序,我们需要检查它直到列表的末尾。

列出反向迭代器声明:

 list<int>::reverse_iterator revit;

list::rbegin()和list::rend()函数

函数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