10、冒泡排序
冒泡排序:
点击查看代码
public static void bubbleSort(int[] arr) {
if (arr == null || arr.length == 1) {
return;
}
// 比较多少次
// 外循环控制的是没排好一个元素下次还有进行多少次排序
for (int e = arr.length - 1; e > 0; e--) { // 0 ~ e 一共比较
// 内循环控制的是排序的范围(记住:数组类题目,我们只需要控制指针与数组下标的关系就可以了)
for (int i = 0; i < e; i++) {
if (arr[i] > arr[i + 1]) {
swap(arr, i, i + 1);
}
}
}
}
// 此方法使用前提是i和j不能相等
static void swap(int[] arr, int i, int j) {
arr[i] = arr[i] ^ arr[j];
arr[j] = arr[i] ^ arr[j];
arr[i] = arr[i] ^ arr[j];
}

浙公网安备 33010602011771号