[問題] Merge Sort程式Bug找不到

看板C_and_CPP (C/C++)作者 (半夜睡不著覺)時間9年前 (2016/12/16 18:03), 9年前編輯推噓0(003)
留言3則, 1人參與, 最新討論串1/1
開發平台(Platform): (Ex: Win10, Linux, ...) Win10 編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出) VC++ 問題(Question): 目前自己在練習DS聖經本第二版的Program 7.9(page 410) http://imgur.com/a/CJ4wZ 題目如上,要把unsorted的array兩兩排序 預期的正確結果(Expected Output): 依照我的程式邏輯,輸出結果應該會是如下 5,26,1,77,11,61,15,59,19,48 1,5,26,77,11,15,59,61,19,48 1,5,11,15,26,59,61,66,19,48 1,5,11,15,19,26,48,59,61,77 錯誤結果(Wrong Output): 但我得到的結果反而是如下 5,26,1,77,11,61,15,59,19,48, 1,1,1,77,11,15,15,59,19,48, 1,1,1,11,11,15,15,59,0,0, 1,1,1,11,11,15,15,59,0,0, 程式碼(Code):(請善用置底文網頁, 記得排版) http://ideone.com/w4AnNE 補充說明(Supplement): 長度為1的Sublist(S=1)合併所得的結果是正確的 但當S=2進入Merge函數時,iniList的資料會亂掉, 之後就無法得到正確的答案。 看了很久還是不知道iniList亂掉的原因,希望版上大大幫忙 第一次版上發文,格式不對會再修改 謝謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.137.23.84 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1481882589.A.499.html

12/16 18:14, , 1F
39行,iniList 和 tempList 指到同一塊空間了
12/16 18:14, 1F

12/16 18:16, , 2F
你想要的應該是將 tempList 複製至 tempList 吧?
12/16 18:16, 2F

12/16 18:17, , 3F
iniList
12/16 18:17, 3F
對,弄錯了,應該改成這樣, 問題解決了,謝謝您的幫忙 ※ 編輯: haloha1234 (114.137.23.84), 12/16/2016 18:25:51 ※ 編輯: haloha1234 (114.137.23.84), 12/16/2016 18:42:58
文章代碼(AID): #1OKxlTIP (C_and_CPP)
文章代碼(AID): #1OKxlTIP (C_and_CPP)