import random
#冒泡排序
def bub_sort(s_list):
for i in range(len(s_list)-1):
# 优化冒泡排序
is_change = True
for j in range(len(s_list)-1-i):
if s_list[j] > s_list[j+1]:
s_list[j],s_list[j+1] = s_list[j+1],s_list[j]
is_change = False
if is_change:
break
return s_list
#选择排序
def select_sort(s_list):
for i in range(len(s_list)):
min_index = i
# 优化选择排序
is_change = True
for j in range(i+1,len(s_list)):
if s_list[i] > s_list[j]:
min_index = j
is_change = False
if is_change:
break
s_list[i],s_list[min_index] = s_list[min_index],s_list[i]
return s_list
#插入排序
def insert_sort(s_list):
for i in range(1,len(s_list)):
tmp = s_list[i]
j = i -1 #前一个元素的下标,进行标记
while j >= 0:
if s_list[j] > tmp:
s_list[j+1] = s_list[j]
s_list[j] = tmp
j -= 1
return s_list
data = list(range(101))
# 打乱这个列表
random.shuffle(data)
print insert_sort(data)
Python三大排序算法实现
最新推荐文章于 2022-03-30 21:56:38 发布