zoukankan      html  css  js  c++  java
  • 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]
     
  • 相关阅读:
    IntelliJ IDEA 常用快捷键
    IntelliJ IDEA 高效率配置
    Eclipse 设置保存代码时自动格式化
    SQL Server 事务隔离级别详解
    网络安全,互联网金融,高并发
    net user命令集合详解
    SQL不同服务器数据库之间的数据操作整理(完整版)
    sql优化
    在 Windows 上遇到非常多 TIME_WAIT 連線時應如何處理
    mvc和iis工作原理
  • 原文地址:https://www.cnblogs.com/ddpeng/p/11302355.html
Copyright © 2011-2022 走看看