(这里默认排序是从小到大)
关于每种排序的视频讲解,参见普林斯顿的算法课
选择排序 selection sort
每次选择最小的放到左边
# 选择排序 selection sort
def Selection_sort(a):
n = len(a)
for i in range(n):
Min = i
for j in range(i,n):
if a[j]<a[Min]:
Min=j
t=a[i]
a[i] = a[Min]
a[Min] = t
return a
插入排序 insertion sort
依次插入到之前合适的位置
# 插入排序 insertion sort
def Insertion_sort(a):
n = len(a)
for i in range(1,n):
j = i
while j >= 0 and a[j] < a[j-1]:
t = a[j]
a[j] = a[j-