简单选择排序的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循环,搞定。