一组数可以看成三部分,前面已经排序的序列,当前数,后面未排序的序列
拿当前数与后面未排序序列中每一个元素比较,找出最小元素的index,与当前元素替换。
def selectSort2(ary):
N=len(ary)
for i in range(N-1):
for j in range(i+1,N):
if ary[i]>ary[j]:
ary[i],ary[j]=ary[j],ary[i]#把i和后面数组中元素对换
return ary
ary3=selectSort2(array)
拿当前数与后面未排序序列中每一个元素比较,直接替换。
array=[7,7,4,1,10,6,3,65,8,9,20,15]
def selectSort(ary):
N=len(ary)
for i in range(N):
minindex=i
for j in range(i+1,N):
#找出最小的数的index
if ary[minindex]>ary[j]:
minindex=j
ary[i],ary[minindex]=ary[minindex],ary[i]
return ary
ary3=selectSort(array)
print (ary3)