选择排序思想:(假设升序)找到最小的数和数组中第一个数交换,然后找次小的数和第二个数交换,然后找第三小的数和第三个数交换。。。。。一直找到第n-1个小的数和第n-1个数交换,排序结束。注意:只需要找n-1个数,不需要找n个数。因为找到前n-1个数,那么第n个数自然就是最大的那一个。
非升序排序:
SELECTION-SORT(A)
for i=1 to A.length-1
max = A[i]
for j=i+1 to A.length
if A[j]>max
temp = max
max = A[j]
A[j] = temp
A[i] = max
最好情况运行时间:Θ(n²)
最坏情况运行时间:Θ(n²)
因为和原来数组排序无关,所以每次排序都会遍历剩余数组,所以最好与最坏情况时间复杂度都是Θ(n²)