0
点赞
收藏
分享

微信扫一扫

c++ sort的使用

德州spark 2022-03-30 阅读 144
  • sort函数用与排序,有三个参数 ,第三个参数有默认值;若不设置第三个参数,就默认升序排列;如果待排序的元素为vector形式,默认按首元素进行升序排列
#include <iostream>
#include <algorithm>
#include<string>
#include<vector>
using namespace std;

int main()
{
    vector<vector<int>> aa{{1,2},{3,1},{2,4}};
    sort(aa.begin(),aa.end());
    cout<<aa[1][1]<<endl;
    return 0;
}

output
4
  • 如果需要对自定义数据类型或者自定义的排序方式进行排序,就需要进行第三个参数的设置,第三个参数是一个排序函数的地址;
    在这里插入图片描述
class Solution {
public:
    static bool compare(vector<int>& a,vector<int>& b)
    {
        return a[0]<b[0] || (a[0]==b[0] && a[1]>b[1]);
    }
    vector<vector<int>> reconstructQueue(vector<vector<int>>& people) {
        sort(people.begin(),people.end(),compare);
        int L = people.size();
        vector<vector<int>> res(L);
        for(vector<int>& p:people)
        {
            int idx = p[1]+1;
            for(int i=0;i<L;i++)
            {
                if(res[i].empty())
                {
                    --idx;
                    if(!idx)
                    {
                        res[i] = p;
                        break;
                    }
                }
            }
        }
        return res;
    }
};
举报

相关推荐

0 条评论