头文件: #include<algorithm>
using namespace std;
1 默认的sort函数是按升序排列
sort(a,a+n);//两个参数分别为待排数组的首地址和尾地址
2 可以自己写一个cmp函数,按特定意图排序
int cmp(const int &a,const int &b){
if(a>b)
return 1;
else
return 0;
}
sort(a,a+n,cmp);
是对数组降序排列,也可以对结构体进行排序
#include<stdio.h>
#include<algorithm>
using namespace std;
struct data
{
int x;
int y;
}a[3];
bool cmp1(const struct data &m,const struct data &n)//cmp类型为bool
{
return m.x>n.x;
}//降序排列
bool cmp2(const struct data &m,const struct data &n)
{
return m.x<n.x;
}//升序排列
bool cmp3(const truct data &m,const struct data &n)
{
if(m.x<n.x)
return 1;//先按x升序,如果x相等,则按y升序
else{
if(m.x>n.x)
return 0;
}
else{
if(m.x==n.x)
return m.y<n.y;
}
int main()
{
scanf("%d%d%d%d%d%",&a.x[0],&a.y[0],&a.x[1],&a.y[1],&a.x[2],&a.y[2])
sort(a,a+n,cmp1);
sort(a,a+n,cmp2);
sort(a,a+n,cmp3);
return 0;
}