冒泡排序规则
-
一共继续数组大小-1次的循环
-
每一趟排序的次数逐渐减小
-
每次都走一遍,不断交换,选出最大的值
public void bubboSort(int[] arr) {
// 一共执行数组长度次
for (int i = 0; i < arr.length; i++) {
// 每次执行次数比上次少1,因为上次的最大值已确定
for(int j = 1; j < arr.length - i; j++) {
if (arr[j-1] > arr[j]) {
int temp = arr[j];
arr[j] = arr[j-1];
arr[j-1] = temp;
}
}
}
}
测试用例
@Test
public void bubbleSort() {
int [] arr = {10, 11, 1, 5, -1, 7};
BubbleSort bSort = new BubbleSort();
bSort.bubboSort(arr);
for (int i : arr) {
System.out.print(i + "\t");
}
}