选择排序的思路是,先从序列中找到最小的元素,放在第一个位置,然后找到第二小的元素,放在第二个位置,以此类推,直到排好所有的值。
时间复杂度:O(n^2),需要进行比较的次数为第一轮n-1,n-2,n-3...1,总的比较次数n*(n-1)/2
例如:a=[1,2,3,4,5,6]
python3代码
def select_sorted(li):
for i in range(len(li)-1): # 外层循环决定需要排序的轮次
min_index = i # 记录最小索引
for j in range(i+1,len(li)): # 内层循环决定需要比较的次数
if li[min_index] > li[j]: # 判断
min_index = j
li[i],li[min_index] = li[min_index],li[i]
return li