一维数组之冒泡排序

/**
     * @param args
     * @author wangxianpeng
     *
     * 工作原理: 比较相邻的元素, 如果第一个比第二个大, 就交换它们两个。
     * 对每一对相邻元素做同样的工作,从开始第一个对到结尾最后一对。最后
     * 的元素应该会是最大的数。针对除了最后一个元素以外所有元素重复以上的
     * 步骤。知道没有任何一对数字需要进行比较
     *
     */
    public static void main(String[] args) {
        
     int [] array ={1,5,3,2,6,7,9,13,54,20};
    
     //  N个数比较的轮数为 n-1;
    
     for(int i = 0 ; i < array.length -1 ; i++){
        
        // 每一轮要比较 n- 1 -i 次
        
         for(int j = 0; j < array.length - 1 -i ; j++){
            
             //如果前面的数比后面的数大 则交换位置
             if(array[j] > array[j + 1]){
                 int temp = array[j];
                 array[j] = array[j+1];
                 array[j+1] = temp ;
             }
         }
     }
      for(int i = 0 ; i < array.length ; i++){
          System.out.print(array[i]+" ");
      }
    
    }

posted @ 2017-03-29 12:24  阳光很好,我亦很好  阅读(1473)  评论(0)    收藏  举报