几种排序的算法

#插入排序(将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据)
# def insert_sort(list):
# count = len(list) #算出列表长度用于控制循环次数
# for i in range(1,count):
# key = list[i] #列表中每个值
# j = i -1 #j 比 i 值小1 i和j都是列表下标值,用来对列表前后两个值做比较
# while j >=0:
# if list[j] > key: #key是list[i] 即list[j+1] 即是后面一个值。 如果前面的值比后面的值大,两个值就交换位置
# list[j+1]= list[j] #将list[j]的值赋给list[j+1]
# list[j] = key #将list[i]的值赋给list[j]
# j -=1 #为了跳出while循环
# print(list)
# return list
# print(insert_sort([1,6,2,5,11,111,22,22,22,31,1,2,3,8]))

# 冒泡排序
def insert_sort(list):
count = len(list)
for i in range(0,count):
for j in range(1+i,count):
if list[i]<list[j]:
list[j],list[i] = list[i],list[j]
print(list)
return list
# insert_sort([5,4,2,3,1])

def insert_sort(list):
count = len(list)
for i in range(0,count):
for j in range(1+i,count):
if list[i] < list[j]:
list[i],list[j] = list[j],list[i]
print(list)
res = list[::-1]
return res
print(insert_sort([5,4,2,7]))





https://visualgo.net/zh/sorting
posted @ 2017-12-12 18:14  13684995613  阅读(139)  评论(0编辑  收藏  举报