我想大家都非常的厲害,但是對於新手,我個人是建議
少用函式庫,寫程式會比較有感覺,等比較厲害了,再來用一些好用的函式庫也不遲
先講問題1.
概論上沒錯,是要比較數字然後互換
我run一次程式的流程給你看,你應該就會知道自己錯在哪裡了
input data:8 6 5 7 9
stage 1:
i=0, j=0
if(arr[0]>arr[1]) //if(8>6)這行會互換
結果:6 8 5 7 9
stage 2:
i=0, j=1
if(8>5)
結果:6 5 8 7 9 //看出問題在哪裡了嗎?
你每次都只有兩兩比較,但是如果今天一種狀況
6 5 1 8 9 //input data
5 6 1 8 9 //stage 1 比較沒錯
5 1 6 8 9 //stage 2 這比較就錯了,因為第一跟第二個數字比較後
不代表第一個數字不會比後面的數字大還是小,所以你應該是固定一個數字
然後全部比較過,並兩兩互換,這樣保證第一個數字才會是最小或是最大的