冒泡排序
就是在一组数中找到最大的那个,把它放到数组的最后,然后再找到次大的那个,每次在剩余的数中找到最大的那个放到数组的后面,直到所有的数有序为止.
冒泡排序的时间复杂度为O(N^2)
主要代码:
public static void bubbleSort(int[] arr) {
if (arr == null || arr.length < 2) {
return;
}
// 先对数组最后一个位置n,放最大的数进行确定,然后是n--
for (int n = arr.length - 1; n > 0; n--) {
// 对每个相邻的数进行比较大小
for (int i = 0; i < n; i++) {
if (arr[i] > arr[i + 1]) {
swap(arr, i, i + 1);
}
}
}
}
// 交换位置
public static void swap(int[] arr, int i, int j) {
int tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
// <<===============以上是冒泡排序的主要算法=====================>>
// =======>> 它的时间复杂度是0(N^2) <<==========