推 LPH66:看起來好像是個heap... 03/17 01:38
→ worldxxi:所以這是理所當然要會的喔,對不起問了笨問題,但是為何 03/17 01:42
→ worldxxi:執行的結果會出現一些奇怪的數字呢? ps.看這個有技巧嗎 03/17 01:43
※ 編輯: worldxxi 來自: 118.169.79.23 (03/17 01:58)
推 sunneo:有奇怪的數字就不應該是正確的程式了 :( 03/17 08:25
→ sunneo:這題我寫了3個答案 分別假設他的陣列是1~10,0~10 03/17 08:25
→ sunneo:及for(j=2*r;k<=n;j*=2)可能是for(j=2*r;j<=n;j*=2)的情形 03/17 08:26
→ sunneo:不過不管是0~10的陣列索引還是1~10都會出界 03/17 08:27
→ sunneo:由for(i=n/2; i>=1; i--) 假設他是1~10,但下面又0~10 ... 03/17 08:28
→ sunneo:所以不論是0~9 , 1~10在`k<=n`的程式碼都會有不正確的答案 03/17 08:29
→ sunneo:這個foo看起來確實是shiftdown 03/17 08:34
→ sunneo:假使真是heap的shiftdown,那麼他的k<=n就是筆(指)誤 03/17 15:22