# -*- coding: utf-8 -*-"""
author: zhao ke
data: 2020.12.15
题目:冒泡排序算法
相邻两个值进行比较,符合要求不动,否则交换位置
"""defbubble(lists):
n =len(lists)
flag =Truefor i inrange(0,n-1):for j inrange(0,n-i-1):if lists[j]> lists[j+1]:
lists[j],lists[j+1]= lists[j+1],lists[j]
flag =Falseif flag:breakreturn lists
a =[5,15,8,5,6,3,78,9,15,2,25]
s = bubble(a)print(s)
快速排序
# -*- coding: utf-8 -*-"""
author: zhao ke
data: 2020.12.15
题目:快速排序算法
选取基准值,每次与基准值进行比较,大于基准值放左边,小于基准值放右边,当序列长度小于2时,退出
"""defquick_sort(lists):
middle =[]
less =[]
more =[]# 退出条件iflen(lists)<=1:return lists
else:
basic_value = lists[0]for i in lists:if i < basic_value:
less.append(i)elif i > basic_value:
more.append(i)else:
middle.append(i)# 对less和more进行排序
less = quick_sort(less)
more = quick_sort(more)return less + middle + more
a =[5,15,8,5,6,3,78,9,15,2,25]
s = quick_sort(a)print(s)
选择排序
# -*- coding: utf-8 -*-"""
author: zhao ke
data: 2020.12.15
题目:选择排序算法
选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理大致是将后面的元素最小元素一个个取出然后按顺序放置。
步骤
在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,
再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。
重复第二步,直到所有元素均排序完毕。
"""defselect_sort(lists):
length =len(lists)for i inrange(0,length):min= i
for j inrange(i+1,length):if lists[j]< lists[min]:
lists[j],lists[min]= lists[min],lists[j]return lists
a =[5,15,8,5,6,3,78,9,15,2,25]
s = select_sort(a)print(s)
冒泡排序# -*- coding: utf-8 -*-"""author: zhao kedata: 2020.12.15题目:冒泡排序算法相邻两个值进行比较,符合要求不动,否则交换位置"""def bubble(lists): n = len(lists) flag = True for i in range(0,n-1): for j in range(0,n-i-1): if lists[j] > lists[j+1