这种
for (int i = 0; i < n; i++)
for (int j = i; j < n; j++)
if (a[j] < a[i]) swap(a[i], a[j]);
和这种
void selection_sort(int* a, int n) {
for (int i = 1; i < n; ++i) {
int ith = i;
for (int j = i + 1; j <= n; ++j) {
if (a[j] < a[ith]) {
ith = j;
}
}
swap(a[i], a[ith]);
}
}
在时间复杂度上有什么不一样吗