选择排序
时间复杂度O(n^2)空间复杂度O(1)
思路:第一次从arr[0] - arr[n-1]选择最小的与arr[0]替换,第一次从arr[1] - arr[n-1]选择最小的与arr[1]替换…
public static void selectSort(int[] ints){
//一共需要n-1次
int n = ints.length ;
int index = 0,indexValue = 0;//记录需要交换的下标和对应的值
for (int i = 0; i < n - 1; i++) {
//初始化
index = i;
indexValue = ints[index];
//找到最小值
for (int j = i + 1 ; j < n; j++) {
if(indexValue > ints[j]) {
indexValue = ints[j];
index = j;
}
}
//判断是否要交换
if(index == i){
//不用交换
}else {//交换
int temp = ints[i];
ints[i] = ints[index];
ints[index] = temp;
}
System.out.println(Arrays.toString(ints));
}
}