什么是简单选择排序
每次选择有序序列外的最小元素与有序序列的后一元素替换位置,因为每次选择的最小元素都小于上一次选择的最小元素,所以替换过位置的数组元素有序排列。
替换过程如下:
简单选择排序
部分代码讲解:
- 第一个循环作用是确定这个方法要循环的次数和本次循环最小元素要占据的位置。
- 因为在第二循环是要得到最小元素,需要先假定参与循环中的一个元素为最小,便选择每次参与循环的数组中的第一个元素。
import java.util.Arrays;
public class Demo1 {
public static void main(String[] args) {
int[] arr = new int[] {1,43,8,4,2,287,5};
Math math = new Math();
math.run(arr);
}
}
class Math{
public void run(int[] arr) {
for(int i=0;i<arr.length-1;i++) {
int temp = arr[i];
int min = i;
for(int j=i+1;j<arr.length;j++) {
if(temp>arr[j]) {
temp = arr[j];
min = j;
}
}
temp = arr[min];
arr[min] = arr[i];
arr[i] = temp;
}
System.out.println(Arrays.toString(arr));
}
}