题目链接
思路:要简洁地完成该题,我们需要:
1.建立一个结构体,包含了学生的三种信息
2,.进行排序。这里我用了归并排序。原理如下图,先递归将数组不断均分至最小,再对两个最小单位之间进行比较并依次加入临时的数组中,并将其复制到原数组相应位置上,这样得到最小单位的有序数组,并由底向上不断进行排序逐步得到最大的有序数组.
3.使用compare函数来作为归并排序时插入排序的条件,传入结构体和比较方法即可进行有条件的比较.
作者: dreamcatcher-cx 出处: http://www.cnblogs.com/chengxiao/
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
using namespace std;
const int MAX = 1e5;
int way;
struct student {
string num,name;
int score;
};
bool compare(student A,student B,int way) {
switch (way) {
case 1:return A