介绍
选择排序是一种简单直观的排序算法。
演示

复杂度
最坏时间复杂度:O(n^2)
最优时间复杂度:O(n^2)
平均时间复杂度:O(n^2)
最坏空间复杂度:O(n),需要辅助空间O(1)
步骤
它的工作原理如下。
- 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置
- 然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。
- 以此类推,直到所有元素均排序完毕。
python
def select_sort(li):
for i in range(len(li)):
min = i
for j in range(i + 1, len(li)):
if li[j] < li[min]:
min = j
if min != i:
li[min], li[i] = li[i], li[min]
return li
print(select_sort(li))
网友评论