当前位置:首页 C++ > 正文

C++中STL模板双向链表的rbegin 和 rend是什么功能

作者:野牛程序员:2023-09-13 10:34:08 C++阅读 3052

rbegin()rend() 是C++ STL中双向链表 (std::list) 的成员函数,用于返回反向迭代器(reverse iterator),它们的功能如下:

  1. rbegin() 函数:

    • rbegin() 函数返回指向双向链表中最后一个元素的迭代器。它实际上指向链表的最后一个元素,允许您从链表的末尾向前遍历元素。

  2. rend() 函数:

    • rend() 函数返回指向双向链表中的虚拟反向结束位置的迭代器。这个虚拟结束位置不包含在链表中,通常与 rbegin() 配合使用,用于确定反向遍历的结束位置。

这些反向迭代器非常有用,特别是在需要从链表的末尾向前遍历元素时。例如,可以使用它们来执行逆序遍历,或者在需要反向查找元素的情况下使用它们。

以下是一个示例,演示如何使用 rbegin()rend() 来逆序遍历双向链表:

#include <iostream>
#include <list>

int main() {
    std::list<int> myList = {10, 20, 30, 40};

    // 使用 rbegin() 和 rend() 反向遍历链表
    std::cout << "逆序遍历链表:";
    for (std::list<int>::reverse_iterator it = myList.rbegin(); it != myList.rend(); ++it) {
        int num = *it; // 获取当前节点的值
        std::cout << num << " ";
    }
    std::cout << std::endl;

    return 0;
}

在上述示例中,使用 rbegin() 函数获取链表的逆序迭代器,然后使用 rend() 函数获取逆序遍历的结束位置。这样,可以从链表的末尾向前遍历元素并打印它们。这对于需要逆序操作链表元素的情况非常有用。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击