遍历一遍找到最小的数
min 都是O(n) removeO(n)
def select_sort(li): for i in range(len(li)-1): #大循环 #记录最小出现的位置,假设第一个值是最小 min_loc = i #没有必要从第一个数开始比较,是自己和自己比较,直接i+1和后面的数比较 for j in range(i+1,len(li)): if li[j] < li[min_loc]: #这就是最小值了 min_loc = j li[i],li[min_loc] = li[min_loc],li[i] print(li) li = [3,4,2,1,5,6,8,7,9] print(li) select_sort(li)li[i] 就是最小的值
def select_sort(li): for i in range(len(li)-1): #大循环 #记录最小出现的位置,假设第一个值是最小 min_loc = i #没有必要从第一个数开始比较,是自己和自己比较,直接i+1和后面的数比较 for j in range(i+1,len(li)): if li[j] < li[min_loc]: #这就是最小值了 min_loc = j if min_loc != i: li[i],li[min_loc] = li[min_loc],li[i] print(li) li = [3,4,2,1,5,6,8,7,9] print(li) select_sort(li)