- import java.util.Arrays;
- /**
- * 冒泡优化版
- * 减少了每一趟的次数
- *
- */
- public class BubbleSort02 {
- public static void main(String[] args) {
- int[] number = {9,8,7,6,5};
-
- for(int j = 0; j<number.length-1; j++){ //趟数
- System.out.println("第"+(j+1)+"趟:");
- for(int i=0;i<number.length -1 -j ;i++){ //次数
- if(number[i]>number[i+1]){
- int temp = number[i];
- number[i] = number[i+1];
- number[i+1] = temp;
- }
- System.out.println("第"+(i+1)+"次:"+Arrays.toString(number));
- }
-
- }
- System.out.println(Arrays.toString(number));
- }
- }
复制代码 运行修改如图: 大大提高了效率
- 第1趟:
- 第1次:[8, 9, 7, 6, 5]
- 第2次:[8, 7, 9, 6, 5]
- 第3次:[8, 7, 6, 9, 5]
- 第4次:[8, 7, 6, 5, 9]
- 第2趟:
- 第1次:[7, 8, 6, 5, 9]
- 第2次:[7, 6, 8, 5, 9]
- 第3次:[7, 6, 5, 8, 9]
- 第3趟:
- 第1次:[6, 7, 5, 8, 9]
- 第2次:[6, 5, 7, 8, 9]
- 第4趟:
- 第1次:[5, 6, 7, 8, 9]
- [5, 6, 7, 8, 9]
复制代码
|
|