一维数组之冒泡排序


/**
     * @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]+" ");
      }
    
    }


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM