1. 冒泡排序算法
简要介绍一下冒泡排序:
- 冒泡排序实际是通过对给定序列从头到尾进行相邻元素的两两比较,通常将比较后值的较大元素放在后面。
- 一般实现是通过两层循环遍历序列来实现,该算法一般来说较容易理解。
- 通过以下动图有助于更好地进行该算法的理解。
代码
def Bubble_sort(list_s):
for i in range(len(list_s)):
for j in range(len(list_s)-i-1):
if list_s[j] > list_s[j+1]:
list_s[j],list_s[j+1] = list_s[j+1],list_s[j]
return list_s
s = [4,5,8,2,6,7,9,3,1]
print(Bubble_sort(s))
运行结果:
2. 选择排序算法
简要介绍一下选择排序:
- 选择排序算法是通过循环遍历序列,一般是通过选择序列中的最小值进行排序的算法
- 通过遍历记录将每次遍历当前序列所得到的最小值放到序列的最前面,未排序的较大数值自动放到序列后面
- 然后通过第二层循环逐步实现排序,看下面动图显示
def Choice_sort(list_s):
for i in range(len(list_s)):
min = i
for j in range(i+1,len(list_s)):
if list_s[j]<list_s[min]:
min = j
list_s[i],list_s[min] = list_s[min],list_s[i]
return list_s
s = [4,5,8,2,6,7,9,3,1]
print(Choice_sort(s))
运行结果:
插入排序算法
简要介绍一下插入排序:
1.从第一个元素开始,该元素可以认为已经被排序,取出下一个元素,在已经排序的元素序列中从后向前扫描
2. 如果该元素(已排序)大于新元素,将该元素移到下一位置 重复上述步骤,直到找到已排序的元素小于或者等于新元素的位置
3. 将新元素插入到该位置后再重复上述操作
def Insert_sort(list_s):
for i in range(1,len(list_s)):
if list_s[i] < list_s[i-1]:
temp = list_s[i]
index = i
for j in range(i-1,-1,-1):
if list_s[j] > temp:
list_s[j+1] = list_s[j]
index = j
else:
break
list_s[index] = temp
return list_s
运行结果: