#include <iostream>
#include <algorithm>
#include <vector>
#include <ctime>

using namespace std;

struct Rec{
    int x, y;
    bool operator< (const Rec &t) const{//这个operator背过就可以了 语法来的//operator<就是重载<如果operator>就是重载大于号
        return x < t.x;//当前这个x要不要排在t的前面
    }
    
}a[5];

//自己不想定义比较函数会怎么办呢

// bool cmp(Rec a, Rec b){ //a是否应该排在b的前面
//     return a.x > b.x;//自己定义比较函数
// }

int main(){
    if(a[0] < a[1]);//如果上面写了<重载就可以进行比较
    
    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是传入比较函数
    // sort(a, a + 5, cmp);//cmp是传入比较函数
    
    for(int i = 0; i < 5; i++) printf("(%d, %d) ", a[i].x, a[i].y);
    cout << endl;
    
    return 0;
}