--- 选择排序 --- 一趟排序记录最小的数,放到第一个位置 再一趟排序记录无序区最小的数,放到第二个位置 ...... 算法关键点: 1. 有序区和无序区 2. 无序区最小数的位置
def select_sort_simple(li):
li_new = []
for i in range(len(li)):
min_val = min(li)
li_new.append(min_val)
li.remove(min_val)
return li_new
def select_sort(li):
for i in range(len(li) - 1):
# 最小值的 index 初始值设置为无序区的第一个数
min_loc = i
for j in range(i + 1, len(li)):
if li[j] < li[min_loc]:
# 如果有数比它小,则更新 index
min_loc = j
li[i], li[min_loc] = li[min_loc], li[i]