- 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;
}
};