在C++中,std::set
是一個有序集合,它會自動按鍵值排序。默認情況下,遍歷std::set
時是從最小元素到最大元素的順序。然而,std::set
并沒有提供直接反向遍歷的功能。
但是,你可以通過創建一個從最大元素到最小元素的臨時std::set
來實現反向遍歷。這里有一個示例代碼:
#include <iostream>
#include <set>
int main() {
std::set<int> my_set = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5};
// 創建一個從最大元素到最小元素的臨時set
std::set<int> reversed_set(my_set.rbegin(), my_set.rend());
// 遍歷臨時set并輸出元素
for (const auto& elem : reversed_set) {
std::cout << elem << " ";
}
return 0;
}
在這個示例中,我們首先創建了一個名為my_set
的std::set
,然后使用迭代器范圍構造函數從my_set
的rbegin()
到rend()
創建了一個名為reversed_set
的臨時std::set
。最后,我們遍歷reversed_set
并輸出其元素。