赞
踩
选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。
[7,5,3,6,44,22,99,11] [3,5,7,6,44,22,99,11] #第一次 获取列表最小的元素与列表第一个元素交换位置 [3,5,7,6,44,22,99,11] #第二次 列表第一个元素不动,获取剩下列表(除列表第一个元素外)的元素的最小值与列表第二个元素交换位置 [3,5,6,7,44,22,99,11] #第三次 列表第一,二个元素不动,获取剩下列表(除列表第一,二个元素外)的元素的最小值与列表第三个元素交换位置 #... [3,5,6,7,11,22,99,44] #倒数第二次 [3,5,6,7,11,22,44,99] #直到最后一次,获取剩余列表(最后两个元素99,44)元素的最小值与列表倒数第二个元素交换位置。
- def select_sort(alist):
- n=len(alist)
- for i in range(n-1): #O(n)
- #剩余列表中最小值的索引
- min_index=i
- for j in range(i+1,n): #O(n)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。