算法之冒泡排序-python实现

大家好,欢迎收看我的文章,如果感觉我的文章能对您有所帮助,您可以点击关注我,您的支持就是我坚持创作的动力

冒泡排序算法

比如有6个数: [22,44,33,55,66,77]从大到小排序,对相邻的两位进行比较

		第一轮
			第一次比较: 44,22,33,55,66,77
			第二次比较: 44,33,22,55,66,77
			第三次比较: 44,33,55,22,66,77
			第四次比较: 44,33,55,66,22,77
          			第五次比较: 44,33,55,66,77,22

经过第一轮比较后, 六个数中最小的数已经在最后面了, 接下来只比较前五个数, 依次类推

		第二轮
			44,55,66,77,33,22
		第三轮
			55,66,77,44,33,22
		第四轮
			66,77,55,44,33,22
      		第五轮
			77,66,55,44,33,22
      比较完成

代码实现



list0 = [2, 4, 3, 7, 8, 1, 0, 5, 11]


list0 = [22, 44, 33, 55, 66, 77]


# 冒泡排序的思想: 每次比较两个相邻的元素, 如果他们的顺序错误就把他们交换位置
def maopao(list0):
    # 列表长度
    length = len(list0)  # ==>6
    # 外层循环重复(length-1)次
    for i in range(length - 1):
        # 内循环依次重复6,5,,...,1(length - i -1)
        for j in range(length - i - 1):

            if list0[j] < list0[j + 1]:
                list0[j], list0[j + 1] = list0[j + 1], list0[j]
    return list0


if __name__ == '__main__':
    print(maopao(list0))



猜你喜欢

转载自blog.csdn.net/qq_40588512/article/details/84337658
今日推荐