C++ STL 中的 list crbegin() 和 crend() 函数
给定任务是展示 C++ 中 list crbegin() 和 crend() 函数的工作原理。
list::crbegin() 和 list::crend() 函数是 C++ 标准模板库的一部分。
需要包含 <list> 头文件才能调用这些函数。
- list::crbegin()
此函数返回一个常量迭代器,该迭代器指向列表的末尾元素,这将是列表的反向开头。它可以用于列表的反向遍历,但不能更改列表中的值,这意味着 crbegin() 函数只能用于迭代。
语法
List_Name.crbegin()
参数
该函数不接受任何参数。
返回值
该函数返回一个常量反向迭代器,该迭代器指向列表的反向开头元素,即列表的末尾。
- list::crend()
此函数返回一个常量迭代器,该迭代器指向列表的末尾元素。它可以用于列表的反向遍历,但不能更改列表中的值,这意味着 crend() 函数只能用于迭代。
语法
List_Name.crend()
参数
该函数不接受任何参数。
返回值
该函数返回一个常量反向迭代器,该迭代器指向列表的反向末尾,即列表的开头。
示例
Input: list<int> Lt={99,34,55} Output: The last element is 55
**解释** -
这里我们创建了一个包含元素 99、34 和 55 的列表。然后我们调用了 crbegin() 函数,它指向列表的反向开头,即列表的末尾。
因此,当我们打印它时,生成的输出为 55,它是列表的最后一个元素。
**下面程序中使用的方案如下** -
- 首先创建一个列表,我们称之为“Ld”,类型为 int,并为其分配一些值。
- 然后开始一个循环遍历列表。
- 然后在循环内创建一个名为“itr”的 auto 类型对象,用于存储 crend() 和 crbegin() 函数的返回值。通过使用 crend() 函数传递列表的第一个元素来初始化“itr”。
- 然后通过编写“itr”不等于使用 crbegin() 函数得到的列表的最后一个元素来指定循环的终止条件。
- 打印 *itr 的值。
算法
Start Step 1->In function main() Initialize list<int> Lt={} Loop For auto itr = Lt.crend() and itr != Lt.crbegin() and itr++ Print *itr End Stop
示例
#include<iostream> #include<list> using namespace std; int main() { list<int> Lt = { 33,44,55,66 }; //Printing the elements of the list cout <<"The elements of the list are : " <<"\n"; for (auto itr = Lt.crend(); itr != Lt.crbegin(); itr++) cout << *itr << " "; return 0; }
输出
如果我们运行以上代码,它将生成以下输出 -
The elements of the list are : 4
广告