冒泡排序:
按照冒泡排序的思想,我们要把相邻的元素两两比较,根据大小来交换元素的位置,过程如下:
def Bubble_sort(list):
for i in range(len(list)-1): # 外循环控制循环的次数
for j in range(len(list) - i-1): # 内循环控制遍历到哪一位
if list[j] > list[j+1]: # 比较相邻两数的大小
list[j],list[j+1] = list[j+1],list[j] # 互换
return list
选择排序:
按照选择排序的思想,我们每一次 选择一个最大的数放在右边 过程如下:
def Choice_sort(list):
for i in range(len(list)):
min_num = i # 先假设一个最小值的索引
for j in range(i+1 , len(list)): # 获取后面值的索引
if list[min_num] > list[j]: # 比较两者值的大小
min_num = j # 找到最小值的坐标
list[i],list[min_num] = list[min_num],list[i]
return list
插入排序:
按照插入排序的思想,我们每一次 选择一个最大的数放在右边 过程如下:
def insert_sort(list):
for i in range(1, len(list)):
value = list[i] # 插入值
j = i - 1 # 记录插入位置 j+1 代表插入的位置
while j >= 0: # 不用 for 循环是因为 j 为 -1 的情况
if list[j] > value:
list[j + 1] = list[j]
else:
break
j -= 1
list[j + 1] = value
return list