这个是从小到大排序的,欢迎大家一起学习沟通
附代码:
# 岩杉Shawn 2019/4/29
# 冒泡算法
"""
设计思路:
1. 比较当前数与下一数,并把较大的数放后面
2. 一次循环这个队列中的每个数与下一个数比较,每次都会把最大数放后面,执行完循环后,最后一位肯定是最大的数
3. 每循环一次,下一轮就能少循环一次,因为队尾那个是最大的,不需要再比较了
"""
def numOrder(list):
for i in range(len(list)-1): # 控制比较的次数
for j in range(len(list)-1-i):#一次循环队列中每个数和下一数,但循环i次后,队列的i个数就是从小到大排列了
if list[j] > list[j+1] :
list[j],list[j+1] = list[j+1],list[j]#如果前一个数比后一个大,调换位置
return list
list = [8,3,1,23,43,21]
numOrder(list)
print(list)