选择排序python
选择排序(Selection sort): 每一趟从列表 无序区 元素中选择最小的一个元素作为首元素,再一趟选择列表无序区最小的数放到第二个位置上,直到排完为止
选择排序简单易懂的形式:
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): # li为列表 for i in range(len(li)-1): # 最后一趟排好序后剩余最后一个数自然归位 min_loc = i # 第一趟假设第一个数为最小数 for j in range(i+1, len(li)): # 遍历无序区 if li[j] < li[min_loc]: # 若无序区有更小的数 min_loc = j # 则将最小数下标赋值给min_loc li[min_loc], li[i] = li[i], li[min_loc] # 将每趟最小的放到有序区

浙公网安备 33010602011771号