A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. import java.util.Arrays;

  2. /**
  3. * 冒泡优化版  
  4. *         减少了每一趟的次数
  5. *
  6. */
  7. public class BubbleSort02 {

  8.         public static void main(String[] args) {
  9.                 int[] number = {9,8,7,6,5};
  10.                
  11.                 for(int j = 0; j<number.length-1; j++){ //趟数
  12.                         System.out.println("第"+(j+1)+"趟:");
  13.                         for(int i=0;i<number.length -1 -j ;i++){  //次数     
  14.                                 if(number[i]>number[i+1]){
  15.                                         int temp = number[i];
  16.                                         number[i] = number[i+1];
  17.                                         number[i+1] = temp;
  18.                                 }
  19.                                 System.out.println("第"+(i+1)+"次:"+Arrays.toString(number));
  20.                         }
  21.                        
  22.                 }
  23.                 System.out.println(Arrays.toString(number));
  24.         }
  25. }
复制代码
运行修改如图:  大大提高了效率
  1. 第1趟:
  2. 第1次:[8, 9, 7, 6, 5]
  3. 第2次:[8, 7, 9, 6, 5]
  4. 第3次:[8, 7, 6, 9, 5]
  5. 第4次:[8, 7, 6, 5, 9]
  6. 第2趟:
  7. 第1次:[7, 8, 6, 5, 9]
  8. 第2次:[7, 6, 8, 5, 9]
  9. 第3次:[7, 6, 5, 8, 9]
  10. 第3趟:
  11. 第1次:[6, 7, 5, 8, 9]
  12. 第2次:[6, 5, 7, 8, 9]
  13. 第4趟:
  14. 第1次:[5, 6, 7, 8, 9]
  15. [5, 6, 7, 8, 9]
复制代码



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马