题解 | #成绩排序#

成绩排序

http://www.nowcoder.com/practice/0383714a1bb749499050d2e0610418b1

这个用C++的话就是要用stable_sort(),然后注意下循环输入while(cin>>n>>type),一开始我没注意

#include<vector>
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
struct Stu{
    string name;
    int grade;
};
int main(){
	int n,type;
	while(cin>>n>>type){
		vector<Stu> list;
		for(int i=0;i<n;++i){
		    string name;
		    int grade;
		    cin>>name>>grade;
		    list.push_back({name,grade});
		}
		if(!type) stable_sort(list.begin(),list.end(),[](Stu x,Stu y){
			return x.grade>y.grade;
		});
		else stable_sort(list.begin(),list.end(),[](Stu x,Stu y){
			return x.grade<y.grade;
		});
		for(auto stu:list){
		    cout<<stu.name<<' '<<stu.grade<<endl;
		}
	}
    return 0;
}
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务