一、思路
- 数组中有n个元素,共进行了n次排序
- 假定拿到的第一个数就是最小数,和后面的数进行比较,若发现有比当前数跟小的数,那么我们就重新确定最小值,并记录最小值的下标。
- 最后叫当前下标对应的值和前面的arrayn进行交换
二、代码
public class SelectSort {
public static void main(String[] args) {
int[] array = new int[]{3, 9, -1, 10, 20, 5};
int[] sore = sore(array);
System.out.println(Arrays.toString(sore));
}
public static int[] sore(int[] array) {
for (int i = 0; i < array.length; i++) {
int num = array[i];
int index = 0; // 用于记录数据下标,方便最后进行交换
int flag = 0; // 拿一个数与后面的数比较,发现这个数没有发生改变,后面就不用进行交换了
for (int j = i + 1; j < array.length; j++) {
if (num > array[j]){
num = array[j];
index = j;
flag++;
}
}
if (flag != 0){
int temp = 0;
temp = array[i];
array[i] = array[index];
array[index] = temp;
}
}
return array;
}
}
京公网安备 11010502036488号