• Python实现冒泡排序方法讲解


    冒泡思想

    每次比较两个相邻的元素,若符合规则,则交换位置,多次循环后完成排序。

    详细讲解

    • 里层for循环的逻辑:
    1. 第一个元素和第二个元素比较,如果小于,则交换两个元素的位置,否则不交换位置;
    2. 第二个元素和第三个元素比较,如果小于,则交换两个元素的位置,否则不交换位置;
    3. 类似第一步和第二步的过程,实现第三元素和第四元素比较、第四元素和第五元素比较;
    4. 第N步时倒数最后两个元素比较,全部比较之后,整个列表中最大的元素就找到了。
    • 外层for循环的逻辑:
    1. 第一步到第N步,可以找到第一大的数字;
    2. 重复第一步到N-1步的过程,可以找到第二大的数字;
    3. 重复第一步到N-2步的过程,可以找到第三大的数字;
    4. 重复第一步到N-3步的过程,可以找到第四大的数字;
    5. 重复第一步的过程(即:N-(N-2)),找到第N-1大的数字。

    代码块显示效果

    def bubbleSort(array):
        for i in range(len(array) - 1):
            for j in range(len(array) - 1 - i):
                if array[j] > array[j + 1]:
                    array[j], array[j + 1] = array[j + 1], array[j]

        return array


    print(bubbleSort([3, 5, 8, 1, 2, 10, 6]))

    输出内容为:[1, 2, 3, 5, 6, 8, 10]
     
  • 相关阅读:
    1001.A+B for Matrices
    1016.火星A+B
    1468.Sharing
    1464.Hello World For U
    约瑟夫问题pascal程序
    约数研究pascal程序
    迷宫pascal程序
    魔法照片pascal程序
    均分纸牌pascal程序
    多项式输出pascal程序
  • 原文地址:https://www.cnblogs.com/ddpeng/p/11302355.html
Copyright © 2020-2023  润新知