基础-冒泡排序
有一数列 5,1,4,9,7,10, 按照从大到小排序
冒泡排序:就是每次只比较相邻的两个数,如果后一个大于前一个的话,将两个数调换位置,依次类推,将第二个数和第三个数比较,再将第三个数和第四个数比较,当一趟比较完成之后,会确定一个数的位置(也就是说每一趟只能确定一个数的位置,因此n个数,就需要n-1趟的比较),冒泡排序的核心就是双层嵌套循环,时间复杂度O(N2)
public static void main(String[] args) { bubbleSort(new int[]{5, 1, 4, 9, 7, 10}); } public static void bubbleSort(int[] arr) { //冒泡排序需要进行n-1趟比较,每一趟需要比较n-i个数 for (int i = 0; i < arr.length - 1; i++) { for (int j = 0; j < arr.length - i - 1; j++) { //比较相邻的两个数,需要比较 if (arr[j] < arr[j+1]) { int temp = arr[j+1]; arr[j+1] = arr[j]; arr[j] = temp; } } } for (int i : arr) { System.out.print(i + "->"); } }
10->9->7->5->4->1->