选择排序法
找后面元素的最小值然后两个相互交换位置
9,6,7,2,4,8,1
第一次:下标为0的元素9找到后面的最小值1并且交换位置,交换位置后为:1,6,7,2,4,5,9
第二次:下标为1的元素6找到后面的最小值2并且交换位置,交换位置后为:1,2,7,6,4,5,9
第三次:下标为2的元素7找到后面的最小值4并且交换位置,交换位置后为:1,2,4,6,7,5,9
第四次:下标为3的元素6找到后面的最小值5并且交换位置,交换位置后为:1,2,4,5,7,6,9
第五次:下标为4的元素7找到后面的最小值6并且交换位置,交换位置后为:1,2,4,5,6,7,9
第六次:下标为5的元素7后面无最小值,不需要交换位置,为:1,2,4,5,6,7,9
public class Test02 {
public static void main(String[] args) {
int[] array = {9,6,7,2,4,8,1};
printArray(array);
select(array);
printArray(array);
}
public static void select(int[] array) {
for(int i = 0;i < array.length - 1;i++) {
for(int j = i+1;j < array.length;j++) {
if(array[i] > array[j]) {
swap(array, i, j);
}
}
}
}
public static void printArray(int[] array) {
for(int i : array) {
System.out.print(i + " ");
}
System.out.println();
}
public static void swap(int[] array,int x,int y) {
int temp = array[x];
array[x] = array[y];
array[y] = temp;
}
}