less<T>
变成升序(从左到右遍历下标时,数组元素是从小到大)greater<T>
变成降序(从左到右遍历下标时,数组元素是从大到小)
那么也就意味着 less模式下,优先输出的较大的数值, greater模式下优先输出的较小的数值;
例一:
#include<bits/stdc++.h>
using namespace std;
const int N=1e4+10;
int n;
int a[N];
int main()
{
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
sort(a,a+n,greater<int>());
for(int i=0;i<n;i++)
{
printf("%d ",a[i]);
}
return 0;
}
例二:
#include<bits/stdc++.h>
using namespace std;
const int N=1e4+10;
int n;
int a[N];
int main()
{
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
sort(a,a+n,less<int>());
for(int i=0;i<n;i++)
{
printf("%d ",a[i]);
}
return 0;
}