[问题] 不改变阵列顺序的排序法

楼主: hzchyh12 (sawadicaa)   2017-06-18 18:36:07
开发平台(Platform): (Ex: Win10, Linux, ...)
Win10
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
Code block
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
问题(Question):
因为第二个输出答案要找出最高分的分数
所以使用气泡排序法
结果在第三个输出答案(找出不及格同学)因为第二题的气泡排序法已经把阵列的顺序打
乱了
所以输出结果变成从第一个名字开始显示
不知道有没有什么排序法是不会影响到阵列顺序
或者可以正常输出第三个程式结果呢?
喂入的资料(Input):
预期的正确结果(Expected Output):
https://imgur.com/a/xpwK8
错误结果(Wrong Output):
http://imgur.com/a/5XNTj
程式码(Code):(请善用置底文网页, 记得排版)
https://ideone.com/W53w3S
补充说明(Supplement):
这是回家练习不是作业也不是考试><
先感谢各位大神了
作者: jerryh001   2017-06-18 18:59:00
找最高分不用排序吧 直接扫过一边还比较快
作者: bluesoul (忙死你老爸)   2017-06-18 19:18:00
stable sort?
作者: libertyleave (SSLin)   2017-06-18 19:52:00
我一开始也以为是想要 stable sort 但看起来元PO是想保持原来 array 的顺序 那这样的话可以复制一份array 来做 sort,或是想楼上讲的最大值扫过一遍就好
作者: moebear (萌熊)   2017-06-18 19:59:00
如果只是要找最高分的直接扫一遍比排序快很多
楼主: hzchyh12 (sawadicaa)   2017-06-18 20:38:00
资质愚笨,想请问各位大神说的直接扫过是什么意思呢?
作者: pikachu2421 (皮卡@めぐ民)   2017-06-18 20:44:00
用额外的变量存目前最高分 如果找到更高的就更新
作者: jaid (jaid)   2017-06-18 22:48:00
呃 除非原本就已排好 不然你觉得排序完顺序还可能一样吗XD
楼主: hzchyh12 (sawadicaa)   2017-06-18 23:04:00
这么一说好像感觉到自己问了蠢问题了XD 原本是想说有没有直接比较完就可以拉结果出来 被楼上几位开示之后好像就是那样了已经成功了,感谢楼上几位大神,没想到自己绕了一大圈,被点醒之后才发现这么简单
作者: CoNsTaR ((const *))   2017-06-19 00:40:00
不改变顺序还叫做排序吗 XDD

Links booklink

Contact Us: admin [ a t ] ucptt.com