严格遵循题目要求(快排)
2025-04-20 11:41:24
发布于:湖南
5阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
struct name{
string name,biao;
int fen;
}a[100001];
void qsort(int left,int right){
if(left>=right) return ;
string x=a[left].biao,b=a[left].name ;
int i=left,j=right,c=a[left].fen ;
while(i<j){
while(i<j&&a[j].biao >=x) j--;
a[i].biao =a[j].biao ;//转移学号
a[i].name =a[j].name ;//转移名字
a[i].fen =a[j].fen ;//转移分数
while(i<j&&a[i].biao <=x) i++;
a[j].fen =a[i].fen ;
a[j].name =a[i].name ;
a[j].biao =a[i].biao ;
}
a[i].fen =c;
a[i].biao =x;
qsort(left,i-1);//排序
qsort(i+1,right);//排序
}
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i].biao >>a[i].name >>a[i].fen ;
}
qsort(1,n);//排序
for(int i=1;i<=n;i++){
cout<<a[i].fen <<endl;
}
return 0;
}
这里空空如也
有帮助,赞一个