算法训练营学习02---冒泡排序与选择排序

mac2022-06-30  25

冒泡排序:

public static int[] bubbleSort(int[] arr) { int t; for (int i = 0; i < arr.length; i++) { for (int j = arr.length - 1; j > i; j--) { if (arr[j] < arr[j - 1]) { t = arr[j]; arr[j] = arr[j - 1]; arr[j - 1] = t; } } } return arr; }

核心部分:内层循环j从最后一位向前冒泡

简单优化:如果j在这轮中一次没有冒则证明已经有序,停止算法

选择排序

public static int[] selectSort(int[] array) { for (int i = 0; i < array.length - 1; i++) { int min = i; for (int j = i + 1; j < array.length; j++) { if (array[j] < array[min]) { min = j; } } int temp = array[i]; array[i] = array[min]; array[min] = temp; } return array; }

核心部分:每次确定一个最小的下标,与i交换,i慢慢递增

转载于:https://www.cnblogs.com/CszShuzi/p/11096376.html

最新回复(0)