private static void sort(int[] array) {
// 记录最后一次排序交换的位置
int lastExchangeIndex = 0;
// 记录无序元素的边界
int sortBorder = array.length - 1;
for (int i = 0; i < array.length - 1; i++) {
// 是否进行了元素的交换排序
boolean isSorted = true;
for (int j = 0; j < sortBorder; j++) {
int temp = 0;
if (array[j] > array[j + 1]) {
temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
isSorted = false;
lastExchangeIndex = j;
}
}
sortBorder = lastExchangeIndex;
if (Boolean.TRUE.equals(isSorted)) {
break;
}
}
}
public static void main(String[] args) {
int[] array = new int[]{3, 5, 1, 2, 6, 8, 9, 7, 4};
sort(array);
System.out.println(Arrays.toString(array));
}
冒泡排序
最新推荐文章于 2024-05-13 09:19:14 发布