| 本帖最后由 张洪慊 于 2013-5-1 00:29 编辑 
 抛开代码研究下思想,我以例子说明:
 复制代码/*
       //看时对应下,我调整半天对不齐
         冒泡排序:(从小到大,从零趟开始为了操作方便)
         算法思想:
          相邻两个数比较,两两比较得到的较大数,较大数不断后移,
          最终每趟最大数沉底.
          例如:三个数:5,3,1:5>3->true->交换 3 5 1->5>1->true->交换 3 1 5->那么5一定为三个数中最大的.以下也就是这种思想.
          示例:下标  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,不用再参与比较,肯定最小      
        */
 |