package cn.yeats._122To123Sort;
import java.util.Arrays;
/**
* 实现冒泡排序算法:升序进行优化,减少排序的次数
*/
public class_123BubbleSort2 {
public static void main(String[] args) {
int arr[] = { 0, 9, 1, 8, 2, 7,3, 6, 4, 5 };
System.out.println(arr.length);
/*
* for (int i = 0; i < arr.length;i++) { System.out.print(arr[i] +
* "-"); }
*/
System.out.println("排序前:");
System.out.println(Arrays.toString(arr));
System.out.println();
// 排序
sortFinalVersion(arr);
/*
* for (int i = 0; i < arr.length;i++) { System.out.print(arr[i] +
* "-"); }
*/
System.out.println("排序后:");
System.out.println(Arrays.toString(arr));
System.out.println();
}
/**
* 冒泡排序的最终版,建议这样去写
*/
public static void sortFinalVersion(int arr[]) {
boolean sorted = true;
// 升序
for (int i = 0; i < arr.length - 1; i++) {
sorted = true;
for (int j = 0; j < arr.length - 1 - i;j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
sorted = false;
}
}
if (sorted)
break;
}
}
}