§01 排序算法
简单选择排序
每轮在无序区扫描一遍选出最小元素,与无序区第一个位置交换,使有序前缀从左向右扩展。 比较次数固定 O(n²),交换次数最多 n-1 次,是不稳定排序。
选择排序
伪代码
1
procedure selectionSort(a, n)
2
for i = 1 to n - 1 do
3
k = i
4
for j = i + 1 to n do
5
if a[j] < a[k] then
6
k = j
7
end if
8
end for
9
if k != i then
10
swap(a[i], a[k])
11
end if
12
end for
13
end procedure