数据结构Python实现-简单选择排序算法
简单排序算法基本思想
选择排序法是一种不稳定的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到全部待排序的数据元素排完。
实现代码
#选择排序
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存的最小值和那个位置进行交换了,本来那个位置的元素没有进行交换。所以只能记录最小值所在的位置,然后进行元素的交换。