简单排序算法基本思想
选择排序法是一种不稳定的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到全部待排序的数据元素排完。
实现代码
#选择排序
def select_sort(alist):
n=len(alist)
for j in range(n-1):
min=j
for i in range(j+1,n):
if alist[i] < alist[min]:
min=i
alist[j],alist[min]=alist[min],alist[j]
#return alist
if __name__ =="__main__":
alist=[1,8,7,9,0,2]
print(alist)
select_sort(alist)
print(alist)
敲代码错误思想
一开始是把最小值找到,然后用min记录下来,然后把其和min进行交换,但是最后发现,排序不成功,是因为只是把min存的最小值和那个位置进行交换了,本来那个位置的元素没有进行交换。所以只能记录最小值所在的位置,然后进行元素的交换。