冒泡排序:
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慢慢递增