选择排序 思想是在一个列表中每次循环一遍,拿到最小值,接着再从剩下的无序区中继续拿最小值,如此循环,直到结束. # 最简单的一个选择排序,循环一个列表,拿到最小值,添加到一个新列表,之后在列表中删除这个最小值,继续再剩下的值中找最小值,往复循环. def select_sort_simple(li): new_li = [] for i in range(len(li)): min_val = min(li) new_li.append(min_val) li.remove(min_val) r
def get_min_pos(li): min_pos = 0 for i in range(1, len(li)): if li[i] < li[min_pos]: min_pos = i return min_pos def select_sort(li): for i in range(len(li)-1): # n或者n-1趟 # 第i趟无序区范围 i~最后 min_pos = i # min_pos更新为无序区最小值位置 for j in range(i+1, len(li)): i
import random from timewrap import * @cal_time def bubble_sort(li): for i in range(len(li) - 1): # i 表示趟数 # 第 i 趟时: 无序区:(0,len(li) - i) for j in range(0, len(li) - i - 1): if li[j] > li[j+1]: li[j], li[j+1] = li[j+1], li[j] @cal_time def bubble_sort_