您的位置:首页 > 编程语言 > Python开发

Python三大排序算法实现

2018-04-02 18:50 309 查看
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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息