#1.第一层循环,从后往前遍历
#2.第二层循环,在第一层的基础上,从前往后遍历
#3.相近的元素进行比较,若前面的比后面的数据大,则交换位置
def bubbleSort(tmp_list): for i in range(len(tmp_list)-1,0,-1): flag = 0 for j in range(i): if tmp_list[j] > tmp_list[j+1]: tmp_list[j],tmp_list[j+1] = tmp_list[j+1],tmp_list[j] flag = 1 if 0 == flag: break
冒泡排序动图演示
#1.第一层循环,从后往前遍历
#2.第二层循环,在一层的基础上,选择当前范围的最大值,放在第一层循环的最大索引处
def selectionSort(tmp_list):
for i in range(len(tmp_list) - 1, 0, -1):
index = i
for j in range(i):
if tmp_list[j] > tmp_list[index]:
index = j
tmp_list[index], tmp_list[i] = tmp_list[i], tmp_list[index]
动态图
三、插入排序
参考:https://www.cnblogs.com/wuxinyan/p/8615127.html
原文:https://www.cnblogs.com/boluo007/p/10534930.html