public static void selectionSort(int[] a, int n){
if (n <= 1) {
return;
}
for ( int i = 0; i < n - 1; i++ ) {
int index = i;
for ( int j = i+1; j < n; j++ ) {
if (a[j] < a[index]) {
index = j;
}
}
int temp = a[index];
a[index] = a[i];
a[i] = temp;
}
}
选择排序是一种原地,非稳定排序算法。选择排序的最好情况时间复杂度、最坏情况和平均情况时间复杂度都为 O(n^2)。