#插入排序算法的Python实现
#数据类型用的是Python中的list
#InsertSort1是插入升序算法
#InsertSort2是插入降序算法
import random
def InsertSort1(li):
for i in range(1,len(li)):
key = li[i]
j = i - 1
while j >=0 and li[j]>key:
li[j+1] = li[j]
j -= 1
li[j+1] = key
return li
def InsertSort2(li):
for i in range(1,len(li)):
key = li[i]
j = i - 1
while j >=0 and li[j]<key:
li[j+1] = li[j]
j -= 1
li[j+1] = key
return li
if __name__ == '__main__':
l = [random.randint(1,101) for i in range(100)]
print("排序前: ",l)
print("排序(升序)后:",InsertSort1(l))
print("排序(降序)后:",InsertSort2(l))
上面的是插入排序。
#Python实现选择排序
li = [5,2,4,6,1,3]
for i in range(len(li)-1):
max = i
j = i + 1
while j < len(li):
if li[max] < li[j]:
max = j
j += 1
li[i], li[max] = li[max],li[i]
print(li)
print(li)
上面的是选择排序。