【发布时间】:2015-04-23 23:01:25
【问题描述】:
我正试图围绕我的项目中的一个部分。我有一个由常用变量组成的结构数组。 (名字和姓氏、ID、用户名、考试成绩、平均成绩和字母成绩)
我必须按等级排序(这并不难),但看起来我也必须按 ID 号从低到高排序。
有点不知如何继续下去。任何提示将不胜感激!
【问题讨论】:
标签: c++ arrays sorting structure
我正试图围绕我的项目中的一个部分。我有一个由常用变量组成的结构数组。 (名字和姓氏、ID、用户名、考试成绩、平均成绩和字母成绩)
我必须按等级排序(这并不难),但看起来我也必须按 ID 号从低到高排序。
有点不知如何继续下去。任何提示将不胜感激!
【问题讨论】:
标签: c++ arrays sorting structure
首先使用std::sort按ID号排序,然后使用std::stable_sort按等级排序。这样,数组将按年级排序,在相同年级的学生中,它将按 ID 排序。
另一种可能更简单(但不那么酷)的方法是只实现一个比较函数,首先检查成绩,然后检查 ID:
if (a.grade == b.grade)
return a.id < b.id;
return a.grade < b.grade;
【讨论】: