温馨提示×

C++ set遍历是否支持反向遍历

c++
小樊
114
2024-07-09 00:45:23
栏目: 编程语言
C++开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

C++的set 是有序容器,它的遍历始终是按顺序进行的,不支持直接的反向遍历。如果需要进行反向遍历,可以通过使用逆向迭代器来实现。逆向迭代器是一种特殊的迭代器,可以以相反的方向遍历容器元素。例如,可以使用rbegin() 和 rend() 方法获取set的逆向迭代器,然后进行遍历操作。示例代码如下:

#include <iostream>
#include <set>

int main() {
    std::set<int> myset = {1, 2, 3, 4, 5};

    // 正向遍历
    for (auto it = myset.begin(); it != myset.end(); ++it) {
        std::cout << *it << " ";
    }

    std::cout << std::endl;

    // 逆向遍历
    for (auto it = myset.rbegin(); it != myset.rend(); ++it) {
        std::cout << *it << " ";
    }

    return 0;
}

在上面的示例代码中,我们首先使用正向迭代器遍历set元素,然后使用逆向迭代器进行反向遍历。输出结果为:

1 2 3 4 5 
5 4 3 2 1 

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:c++遍历set能反向遍历吗

0