冒泡排序:冒泡排序的实现是通过比较列表中的数,每次执行只选择出剩下所有数据中一个最大或者是一个最小的数。需要执行数据个数减1次。需要两层循环,第一层循环是循环的次数,第二层循环是排列出一个最大或者是最小的数。例如:data = [34, 18, 32, 45, 22, 19, 25, 60],第一次比较:34和18比,34大,则18和32比,32大,所以18接着和45比,以此类推,哪个数小就和下一个数比。只到比完一轮结束,选择出最小的数,第二轮选出次小的数…直到第七轮选择出第倒数第二小的数,循环可以结束,因为剩下的数就是最大的数,不需要再比较。下面是代码:
data = [34, 18, 32, 45, 22, 19, 25, 60]
for i in range(7, -1, -1): # 扫描次数
for j in range(i):
if data[j] > data[j + 1]: # 比较,交换的次数
data[j], data[j + 1] = data[j + 1], data[j] # 比较相邻两数,如果第一数较大则交换
print('排序后的结果为:')
for j in range(8):
print('%d ' % data[j], end='')
print()