1028 List Sorting

代码如下:

 1 #include<iostream>
 2 #include<vector>
 3 #include<algorithm>
 4 #include<iomanip>
 5 using namespace std;
 6 struct info{
 7     int id;
 8     string name;
 9     int score;
10 };
11 bool cmp1(info i1,info i2){
12     return i1.id < i2.id;
13 }
14 bool cmp2(info i1,info i2){
15     if(i1.name < i2.name)
16         return true;
17     else if(i1.name == i2.name && i1.id < i2.id) return true;
18     return false;
19 }
20 bool cmp3(info i1,info i2){
21     if(i1.score < i2.score)
22         return true;
23     else if(i1.score == i2.score && i1.id < i2.id) return true;
24     return false;
25 }
26 
27 int main(){
28     vector<info> vec;
29     info in;
30     int n,m;
31     cin >> n >> m;
32     for(int i = 0; i < n; i++){
33         cin >> in.id >> in.name >> in.score;
34         vec.push_back(in);
35     }
36     if(m == 1){
37         sort(vec.begin(),vec.end(),cmp1);
38     }
39     else if(m == 2){
40         sort(vec.begin(),vec.end(),cmp2);
41     }
42     else{
43         sort(vec.begin(),vec.end(),cmp3);
44     }
45     for(int i = 0; i < n; i++){
46         cout << setw(6) << setfill('0') << vec[i].id << " ";
47         cout << vec[i].name << " ";
48         cout << vec[i].score << endl;
49     }
50     return 0;
51 }

 

转载于:https://www.cnblogs.com/huhusw/p/9755239.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值