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

看板C_and_CPP (C/C++)作者 (sawadicaa)時間8年前 (2017/06/18 18:36), 編輯推噓4(4011)
留言15則, 8人參與, 最新討論串1/1
開發平台(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://www.ptt.cc/bbs/C_and_CPP/M.1497782172.A.594.html

06/18 18:59, , 1F
找最高分不用排序吧 直接掃過一邊還比較快
06/18 18:59, 1F

06/18 19:18, , 2F
stable sort?
06/18 19:18, 2F

06/18 19:52, , 3F
我一開始也以為是想要 stable sort 但看起來元PO是
06/18 19:52, 3F

06/18 19:53, , 4F
想保持原來 array 的順序 那這樣的話可以複製一份
06/18 19:53, 4F

06/18 19:54, , 5F
array 來做 sort,或是想樓上講的最大值掃過一遍就好
06/18 19:54, 5F

06/18 19:59, , 6F
如果只是要找最高分的直接掃一遍比排序快很多
06/18 19:59, 6F

06/18 20:38, , 7F
資質愚笨,想請問各位大神說的直接掃過是什麼意思呢?
06/18 20:38, 7F

06/18 20:44, , 8F
用額外的變數存目前最高分 如果找到更高的就更新
06/18 20:44, 8F

06/18 22:48, , 9F
呃 除非原本就已排好 不然你覺得排序完順序還可能一樣嗎XD
06/18 22:48, 9F

06/18 23:04, , 10F
這麼一說好像感覺到自己問了蠢問題了XD 原本是想說有沒
06/18 23:04, 10F

06/18 23:04, , 11F
有直接比較完就可以拉結果出來 被樓上幾位開示之後好像
06/18 23:04, 11F

06/18 23:04, , 12F
就是那樣了
06/18 23:04, 12F

06/18 23:44, , 13F
已經成功了,感謝樓上幾位大神,沒想到自己繞了一大圈,
06/18 23:44, 13F

06/18 23:44, , 14F
被點醒之後才發現這麼簡單
06/18 23:44, 14F

06/19 00:40, , 15F
不改變順序還叫做排序嗎 XDD
06/19 00:40, 15F
文章代碼(AID): #1PHbUSMK (C_and_CPP)
文章代碼(AID): #1PHbUSMK (C_and_CPP)