作者hzchyh12 (sawadicaa)
看板C_and_CPP
標題[問題] 不改變陣列順序的排序法
時間Sun Jun 18 18:36:07 2017
開發平台(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):
這是回家練習不是作業也不是考試><
先感謝各位大神了
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 27.246.69.91
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1497782172.A.594.html
1F:推 jerryh001: 找最高分不用排序吧 直接掃過一邊還比較快 06/18 18:59
2F:→ bluesoul: stable sort? 06/18 19:18
3F:推 libertyleave: 我一開始也以為是想要 stable sort 但看起來元PO是 06/18 19:52
4F:→ libertyleave: 想保持原來 array 的順序 那這樣的話可以複製一份 06/18 19:53
5F:→ libertyleave: array 來做 sort,或是想樓上講的最大值掃過一遍就好 06/18 19:54
6F:→ moebear: 如果只是要找最高分的直接掃一遍比排序快很多 06/18 19:59
7F:→ hzchyh12: 資質愚笨,想請問各位大神說的直接掃過是什麼意思呢? 06/18 20:38
8F:→ pikachu2421: 用額外的變數存目前最高分 如果找到更高的就更新 06/18 20:44
9F:推 jaid: 呃 除非原本就已排好 不然你覺得排序完順序還可能一樣嗎XD 06/18 22:48
10F:→ hzchyh12: 這麼一說好像感覺到自己問了蠢問題了XD 原本是想說有沒 06/18 23:04
11F:→ hzchyh12: 有直接比較完就可以拉結果出來 被樓上幾位開示之後好像 06/18 23:04
12F:→ hzchyh12: 就是那樣了 06/18 23:04
13F:→ hzchyh12: 已經成功了,感謝樓上幾位大神,沒想到自己繞了一大圈, 06/18 23:44
14F:→ hzchyh12: 被點醒之後才發現這麼簡單 06/18 23:44
15F:推 CoNsTaR: 不改變順序還叫做排序嗎 XDD 06/19 00:40