""" ====================== Author: 柠檬班-小简 Time: 2020/6/6 13:47 Project: py30 Company: 湖南零檬信息技术有限公司 ====================== """ """ 使用循环实现排序算法(冒泡,选择等算法选择一个,请自行了解。) 提示:利用for循环,完成a=[1,7,4,89,34,2]的排序(小的数字排前面,大的排后面), 不能使用sort、sorted等内置函数或方法 冒泡:[1,2,4,7,34,89] 从小到大排序。 [1,7,4,89,34,2] 第一轮:找出最大的,放在列表的最后一个。 遍历的对象:[1,7,4,89,34,2] 结果:[1, 4, 7, 34, 2, 89] 第二轮:找出剩下的里面,最大的值,放到剩下的最后 遍历的对象:[1, 4, 7, 34, 2] 第三轮:[1, 4, 7,2] 第四轮:[1, 4, 7] 第五轮:[1, 4] """ a=[1,7,4,89,34,2] # [0,1,2,3,4,5] # j=0 len(a)-j-1=5 # j=1 len(a)-j-1=4 # j=2 len(a)-j-1=3 # j=3 len(a)-j-1=2 # j=4 len(a)-j-1=1 for j in range(len(a)-1): # [0,1,2,3,4] for i in range(len(a)-j-1): if a[i] > a[i+1]: # 如果当前索引的值,比下一索引的值大,换个位置。 a[i], a[i + 1] = a[i + 1], a[i] print(a)