生活中,我们经常会遇到排序问题,像班级成绩排序、奥运奖牌排名等。而像这些往往会涉及到多变量。就不能把它处理成简单地一维数组排序,需sort函数和自定义函数结合使用。
金牌 | 银牌 | 铜牌 | |
A国 | 5 | 4 | 8 |
B国 | 3 | 4 | 9 |
C国 | 5 | 4 | 18 |
D国 | 3 | 2 | 7 |
F国 | 4 | 3 | 2 |
要求对上表格中的5个国家进行排序,排序等级金牌>银牌>铜牌
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
struct award{
string name;
int gold;
int silver;
int bronze;
} cnt[5];
bool fun(award x,award y){
if (x.gold != y.gold)
return x.gold > y.gold;
else if (x.silver != y.silver)
return x.silver > y.silv