冒泡排序是什么?怎么理解?
冒泡排序每次 轮循 可以找到一个最大值。
因为冒泡排序使用两两比较的方式进行。每次抓取两个数比较。
第1次 比较第一个和第二个
第一个数>第二个数 则 他们的位置交换
第2次 比较第二个和第三个
第二个数>第三个数 则 他们的位置交换
第3次 比较第三个和第四个
……
以此类推
比较的时候如果前一个小于后一个就交换。交换完继续比较下一个位置。
这样一次 轮循 下来必然会让最大的数出现在最前面。
忽略最上面的数,继续进行。
每次都找到几个数中最大的数,并且往上放,最后就完成了排序。
最后附上python冒泡排序代码
# 冒泡排序
def MP_Sort(list):
for i in range(len(list) - 1): # 这个循环负责设置冒泡排序进行的次数
for j in range(len(list) - 1 - i): # j为列表下标
if list[j] > list[j + 1]:
list[j], list[j + 1] = list[j + 1], list[j]
return list
nums = [5, 2, 45, 6, 8, 2, 1]
print(MP_Sort(nums))
网友评论