排序
def SelectionSort(a):
for i in range(len(a)):
tmp_min = a[i]
index = i
for j in range(i,len(a)):
if a[j]<tmp_min:
index = j
tmp_min = a[j]
tmp = a[i]
a[i] = a[index]
a[index] = tmp
由于在遍历过程中,当出现前一个元素小于当前元素,提前结束比对,比选择排序算法的比对次数少。
def swap(a,i,j):
tmp = a[i]
a[i] = a[j]
a[j] = tmp
def InsertionSort(a):
for i in range(1,len(a)):
for j in range(i,0,-1):
if(a[j-1]>a[j]):
swap(a,j-1,j)
else:
break
def InsertionSortCopy(a):
for i in range(1,len(a)):
for j in range(i,0,-1):
tmp = a[j]
if(a[j-1]>tmp):
a[j] = a[j-1]
else:
a[j] = tmp