[問題] 不改變陣列順序的排序法

作者: 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