sort函数对结构体数组排序
#include<iostream>
#include<algorithm>
using namespace std;
struct st
{
int a1;
int b1;
}arr[100];
//首先 &是取地址运算符 在cmp中 把结构体的地址赋值给了 x ,y ;
//x对应sort函数的第一个参数,y 对应sort函数的第二个参数
// x.b1 与 y.b1 就确定了 排序的元素和大小顺序
bool cmp(const st &x, const st &y)
{
return x.b1<y.b1;//从小到大排<,若要从大到小排则>
}
int main()
{
int i;
for (i=0;i<3;i++)
cin>>arr[i].a1>>arr[i].b1;//对结构体进行输入
sort(arr,arr+3,cmp);
for (i=0;i<3;i++)
cout<<arr[i].a1<<" "<<arr[i].b1<<endl;
}