利用STL的set容器进行升序排序和降序排序--源码--VS2019下运行测试成功:

#include <iostream>
#include <set>
using namespace std;

struct myfunc 
{
    bool operator()(int v1,int v2) const
    {
        return v1 > v2;
    }
};

int main()
{
    //set升序排列
    set<int> Tmp;
    //初始化
    Tmp.insert(8);
    Tmp.insert(10);
    Tmp.insert(100);
    Tmp.insert(9);
    Tmp.insert(20);
    Tmp.insert(3);

    for (set<int>::iterator it = Tmp.begin(); it != Tmp.end(); ++it)
    {
        cout << "升序排列:" << *it << endl;
    }


    //set降序排列
    set<int, myfunc> setTmp;
    //初始化
    setTmp.insert(8);
    setTmp.insert(10);
    setTmp.insert(100);
    setTmp.insert(9);
    setTmp.insert(20);
    setTmp.insert(3);

    for (set<int,myfunc>::iterator it = setTmp.begin();  it != setTmp.end(); ++it)
    {
        cout << "降序排列:" << *it << endl;
    }

}

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐