选择排序原理:在每一次遍历中,假设第一个下标值的元素为最小值,与后面的元素进行比较,找到小的值将下标值标记下来,找到最小值进行交换,存放在序列的起始位置,依此类推,直到将所有元素排序完毕。
外层循环:控制将有多少次选择排序,保证序列的每个值都能够比较到
内层循环:进行比较,找到最小值的下标值
public static int[] selectionSort(int[] array) {
//n= 0到array-1,再+1
for (int i = 0; i < array.length; i++) {
int minIndex = i; //临时空间 1
for (int j = i; j < array.length; j++) {
if (array[j] < array[minIndex])
minIndex = j;
}
int temp = array[minIndex];
array[minIndex] = array[i];
array[i] = temp;
}
return array;
}
时间复杂度为:O(n²)
空间复杂度为:O(1)