题解 | #成绩排序#

成绩排序

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

#include <bits/stdc++.h>
using namespace std;

typedef struct student{
	string name;
	int grade;
	int id;
	
}Student;

// 升序排列 
bool my_cmp_up(const Student &a, const Student& b){
	return a.grade < b.grade; 
}

bool my_cmp_down(const Student& a, const Student& b){
	return a.grade > b.grade;
}

int main(){
	int num_stu;
	int sort_way;
	int id;

	
	while(cin >> num_stu >> sort_way){
		vector<Student> stu;
		for (int i=0; i<num_stu; i++){
			string t_name;
			int t_grade;
			int t_id;
			cin >> t_name >> t_grade;
			stu.push_back({t_name,t_grade,t_id});
		}
		
		if (sort_way == 1){
			stable_sort(stu.begin(), stu.end(), my_cmp_up);
		}
		else{
			stable_sort(stu.begin(), stu.end(), my_cmp_down);
		} 

		for (auto item: stu){
			cout << item.name << " " << item.grade << endl;
		}
	}	
	
	
	return 0;
}

全部评论

相关推荐

哞客37422655...:嫡系回归,buff叠满!好好干,等你们组明年把你当嫡长继承人的时候再请我们喝奶茶~
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务