vlambda博客
学习文章列表

简单选择排序的python实现

前面单单想直接插入排序时苦苦思考,那时的思考是有意义的,因为它为后面的学习奠定了基础。比如今天,我自己写简单选择排序时,相对轻松多了。


def swap(a,b): return b,a
def selectsort(array):
for i in range(len(array)):
min = i
for j in range(i+1, len(array)):
if array[j] < array[min]: min = j else: continue
array[min],array[i] = swap(array[min],array[i])
array = [7,3,1,54,8,34,5,2]print('原始数组为:'+str(array))selectsort(array)print('简单选择排序后:'+str(array))


这次思考唯一卡住的地方就是不熟悉 swap语法的格式,第17行我竟然写错成:

swap(array[min],array[i])

缺少了前面的

array[min],array[i] =

这一关键复制语句,怪不得数组为何迟迟不变化,也是醉了。


简单选择排序的时间复杂度为o(n²),代码的关键之处在于两个for循环,搞定。