三元组排序(重载运算符)

在这里插入图片描述

  • 依照题意构造结构体,并且重载小于号,使结构体根据x的值排序,调用sort函数排序并输出
#include<iostream>
#include<cstring>
#include<algorithm>

using namespace std;

const int N=10010;

struct data{
    
    int x;
    
    double y;
    
    string z;
    
    bool operator< (const data &t) const{       //重载运算符的格式
        
        return x<t.x;
    } 
}a[N];

int main(){
    
    int n;
    
    cin>>n;
    
    for(int i=0;i<n;i++)cin>>a[i].x>>a[i].y>>a[i].z;
    
    sort(a,a+n);
    
    for(int i=0;i<n;i++)printf("%d %.2lf %s\n",a[i].x,a[i].y,a[i].z.c_str());   //c语言没有string,调用.c_str()返回指向字符串的头指针
    
    return 0;
}
posted @ 2020-06-01 22:49  zzcxxoo  阅读(332)  评论(0)    收藏  举报