STL库sort和stable_sort函数
写在前面:
期中考试终于落下了帷幕,我又有时间来做oj题了【捂脸
近期一直在学数据结构,感觉好久没做OJ题了,,
比起写数据结构,我觉得做oj题更需要技巧,然后合理使用库函数很必要。
今天这道题一开始一直WA,以为是sort或stable_sort函数的问题,
最后在论坛大佬指点下终于找到了错误,是字符串比较出现了问题【扶额
不管他能不能看到,在这里,一定要感谢那位老哥,一针见血指出我的问题~
- 出错点:
- 库里的sort函数是不稳定的排序。(所以sort两遍行不通)
两种解决方法:①改写cmp函数,使之可以二级排序;②用两遍stable_sort - 用字符数组存的学号,在比较时直接用 < 来比。
解决方法:使用库函数 strcmp 来比较学号大小(字典序)。
- 参考博客:
题目:
- 成绩排序
单点时限: 2.0 sec
内存限制: 256 MB
有 n(1⩽n⩽100)个学生的成绩记录,其中包含学号和成绩两项。
按照成绩从高到低顺序输出成绩及格(⩾60)学生的学号和成绩。成绩相同时按照学号从小到大顺序输出。
输入格式
第 1 行:输入一个整数 n,表示学生记录数。
第 2 行 ~ n+1 行:每行是学号(11 位数字)及成绩(0 到 100 之间的整数)。学号和成绩之间有一个空格。
输出格式
按要求输