#define maxsize 3
typedef struct{
string name;
int Math;
int English;
int Chinese;
int key;
}student;
typedef struct{
student r[maxsize+1];
int length;
}Sqlist;
//初始化线性表,给线性表赋值
void creatlist(Sqlist& L){
L.length=0;
for(int i=1;i<=maxsize;i++){
cin>>L.r[i].name>>L.r[i].Chinese>>L.r[i].Math>>L.r[i].English;
L.r[i].key=L.r[i].Chinese+L.r[i].Math+L.r[i].English;
L.length++;
}
}
//输出线性表
void show(Sqlist L){
for(int i=1;i<=L.length;i++){
cout<<L.r[i].name<<" "<<L.r[i].Chinese<<" "<<L.r[i].Math<<" "<<L.r[i].English<<endl;
}
cout<<endl;
}
//堆排序算法
//堆排序算法实现 退出堆顶元素后建立新堆
typedef Sqlist HeapType;
void HeapAdjust (HeapType& H,int s,int m){
student rc=H.r[s];
for(