本帖最后由 张洪慊 于 2013-1-19 19:37 编辑
我写的,你应该可以理解,以5,3,7,9,1为例
冒泡排序(从小到大,从零趟开始为了操作方便)
算法思想:
相邻两个数比较,两两比较得到的较大数不断后移,
最终每趟最大沉底.
示例:下标 0 1 2 3 4
i 5 3 7 9 1
3 5 7 9 1 5>3交换
第零趟: 3 5 7 9 1 5<7不动
3 5 7 9 1 7<9不动
3 5 7 1 9 9>1交换-->9为最大,arr[4]为9
共比较4(arr.length-0(趟数)-1)次
第一趟: 3 5 7 1 -->9不用在参与比较
3 5 7 1 3<5不动
3 5 7 1 5<7不动
3 5 1 7 7>1交换-->7为次大,arr[3]为7
共比较3(arr.length-1-1)次
第二趟: 3 5 1 -->7不用再参与比较
3 5 1 3<5不动
3 1 5 5>1交换-->arr[2]为5
共比较2(arr.length-2-1)次
第三趟: 3 1 -->5不用再参与比较
1 3 3>1交换-->arr[1]为3
共比较1(arr.length-3-1)次
以上共走了4(arr.length-1)趟
最后一定剩余一个数字1,不用再参与比较,肯定最小 |