//直接排序
SELECTION_SORT(A)
{
for i=1 to n-1
min=i
for j=i+1 to n
if A[min] > A[j]
min = j
swap A[min] <-> A[i]
}
@Test
public void sort3() {
Integer arr[] = { 8, 5, 10, 12, 7, 6, 15, 9, 11, 3 };
for (int i = 0; i < arr.length; i++) {
int temp = arr[i];
int min = arr[i];
int key = i;
for (int j = i; j < arr.length; j++) {
key = arr[j] < min ? j : key;
min = arr[j] < min ? arr[j] : min;
}
if (key != i) {
arr[i] = arr[key];
arr[key] = temp;
}
}
// 输出数组元素
for (Integer it : arr) {
System.out.print(it + " ");
}
}
3 5 6 7 8 9 10 11 12 15