1 sort自定义大小cmp
bool cmp(Rec a,Rec b)//W1a是否应该排在b前面
{
return a.x<b.x;//a小于b就排在前面
// return a>b;
}只需在这里改变大于还是小于排序
#include <iostream>
#include <algorithm>
#include <vector>
#include <ctime>
using namespace std;
struct Rec
{
int x,y;
//W2重载小于号
}a[5];
// 定义了一个结构体类型 Rec,它包含两个整数成员 x 和 y,然后创建了一个包含五个这种结构体类型的数组 a。
// 这意味着你可以使用 a 数组来存储和操作五个 Rec 类型的结构体对象。
bool cmp(Rec a,Rec b)//W1a是否应该排在b前面
{
return a.x<b.x;//a小于b就排在前面
// return a>b;
}
int main()
{
for(int i=0;i<5;i++)
{
a[i].x=-i;
a[i].y=i;
}
for(int i=0;i<5;i++)printf("(%d,%d)",a[i].x,a[i].y);
cout<<endl;
sort(a,a+5,cmp);
for(int i=0;i<5;i++)printf("(%d,%d)",a[i].x,a[i].y);
cout<<endl;
}
2不用cmp函数
改一下
struct Rec
{
int x,y;
bool operator<(const Rec &t)const//W2重载小于号
{
return x<t.x;
}
}a[5];并且不用cmp了
sort(a,a+5);
打印效果如上一样