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

更新于: 2020年1月20日

81 次浏览

启动您的 职业生涯

通过完成课程获得认证

开始学习
广告