c++遍历set时如何排序

   2024-10-08 4850
核心提示:在C++中,set是按照元素的比较函数进行排序的。如果要遍历set并按照特定的顺序排序,可以使用自定义的比较函数来实现。以下是一

在C++中,set是按照元素的比较函数进行排序的。如果要遍历set并按照特定的顺序排序,可以使用自定义的比较函数来实现。

以下是一个示例代码,演示如何定义一个自定义的比较函数,并在遍历set时按照该比较函数的顺序排序:

#include <iostream>#include <set>using namespace std;// 定义一个自定义的比较函数,用于按照元素的大小进行排序struct Compare {    bool operator() (int a, int b) {        return a > b; // 从大到小排序    }};int main() {    set<int, Compare> mySet;    mySet.insert(5);    mySet.insert(2);    mySet.insert(8);    mySet.insert(1);    // 遍历set并按照比较函数的顺序排序输出    for (auto it = mySet.begin(); it != mySet.end(); ++it) {        cout << *it << " ";    }    cout << endl;    return 0;}

在上面的示例中,定义了一个名为Compare的结构体,其中重载了operator()函数,实现了从大到小排序。然后在声明set时,指定了该自定义的比较函数。在遍历set时,元素将按照此比较函数的顺序进行输出。

 
举报打赏
 
更多>同类维修大全
推荐图文
推荐维修大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号