import java.util.Arrays;
/**
* 选择排序
* @author Administrator
*
*/
public class SelectSort {
public static void main(String[] args) {
// long A=System.currentTimeMillis();
// System.out.println("执行代码块/方法----------------A:" + A);
// int [] arr = new int[80000];
// for (int i = 0; i < arr.length; i++) {
// arr[i] = (int)(Math.random() * 8000000);
// }
int[] array = new int[] { 101, 34, 119, 1 };
System.out.println("排序前:" + Arrays.toString(array));
sort(array);
System.out.println("排序后:" + Arrays.toString(array));
// long B=System.currentTimeMillis();
// System.out.println("sort()运行时间: "+(B-A)+"ms-----B:" + B);
}
public static void sort(int[] array) {
for (int i = 0; i < array.length-1; i++) {
int minIndex = i;
//默认第一个元素为最小值
int min = array[i];
//j = i+1 表示不比较第一个元素,因为默认第一个元素为最小值开始比较
for (int j = i+1; j < array.length; j++) {
//如果默认值比其后的值大,则重置最小值
if( min > array[j] ) {
min = array[j];
minIndex = j;
}
}
//如果最小值索引无变化,则不需要替换元素位置
if( minIndex != i ) {
//调换最小值与比较值之间的位置
array[minIndex] = array[i];
array[i] = min;
}
}
}
}