package com.iamitman.sort;
import java.util.Arrays;
/**
* 选择排序:
* 默认最小值为索引为0的值,从当前位置一次与后面的比较,找到最小的值所在的索引值,交换位置
*
* @param <T>
*/
public class SelectSort<T extends Comparable> {
public T[] sort(T[] t) {
int length = t.length;
for (int i = 0; i < length; i++) {
int minIndex = i;
for (int j = i + 1; j < length; j++) {
if (t[minIndex].compareTo(t[j]) > 0) {
minIndex = j;
}
}
if (i != minIndex) {
T temp = t[minIndex];
t[minIndex] = t[i];
t[i] = temp;
}
}
return t;
}
public static void main(String[] args) {
SelectSort sort = new SelectSort();
Integer[] example = {6, 4, 2, 3, 5, 1, 7, 10, 8, 9};
System.out.println(Arrays.toString(sort.sort(example)));
}
}