/*
* 选择排序的关键在与找到每次比较最小的元素
* 每次都假设第一个元素最小
* */
public class ArrayTest {
public static void main(String[] args) {
int[] array = {1,5,7,9,3,4,6,8};
for (int i = 0; i < array.length - 1; i++) {
int min = i;
for (int j = i; j < array.length; j++) {
if(array[j]<array[i]){ //如果后面的元素比第一个元素还小,更新最小下标
min = j;
}
}
/* 当 i 和 min 相等时,表示第一个元素最小
* 当 i 和 min 不相等时,表示有最小的元素
* */
if(min != i){
int temp;
temp = array[min];
array[min] = array[i];
array[i] = temp;
}
}
System.out.println("选择排序:");
for (int i = 0; i < array.length; i++) {
System.out.print(" "+array[i]);
}
}
}
01-08
1399
10-12
870
06-03
2622
10-06
338