• 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]
     
  • 相关阅读:
    Astyle中文格式说明
    windows安装composer,配置环境变量,使用及报错处理
    Centos 中使用Supervisor守护进程(转载)
    react native Android返回键监听BackHandler
    IE兼容问题
    mysql修改root密码的方法
    11月15日jquery学习笔记
    2016年11月2日——jQuery源码学习笔记
    2016年11月1日——jQuery源码学习笔记
    windows下apache+php+mysql配置
  • 原文地址:https://www.cnblogs.com/ddpeng/p/11302355.html
Copyright © 2020-2023  润新知