我想大家都非常的厉害,但是对于新手,我个人是建议
少用函式库,写程式会比较有感觉,等比较厉害了,再来用一些好用的函式库也不迟
先讲问题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 这比较就错了,因为第一跟第二个数字比较后
不代表第一个数字不会比后面的数字大还是小,所以你应该是固定一个数字
然后全部比较过,并两两互换,这样保证第一个数字才会是最小或是最大的