zoukankan      html  css  js  c++  java
  • 冒泡算法的深入理解

    简述

    冒泡主要采用两个循环思想,外循环根据数据个数控制循环次数需要循环len(num)-1次、内循环主要是len(num)个数进行两两比较,每次遍历过程中把相对小的数排到前面。这样遍历len(num)-1次结果就是正序排列。

    实例说明

    代码:

    #coding=utf-8

    def maoPao(num):

        for i in range(len(num)-1):

            for j in range(len(num)-1-i):#i只是更明确下比较次数,也可以不减i排出的结果一样的

                if num[j]>num[j+1]:

                    num[j],num[j+1] = num[j+1],num[j]

        return num

    if __name__=='__main__':

        shili = maoPao(num=[1,6,2,3,8])

        print shili

    图解:

    其他方式

    Python内置函数:list1.sort() 、reverselist.sort()

    有人会问,既然有这么简便的排序算法为什么还要我们去费劲八叉的写什么冒泡算法?冒泡算法是初学代码算法最好的方式,它有助于初学者深入理解使用for循环。帮助我们在工作中灵活使用提升工作效率。

    什么时候用for循环什么时候用while循环?请参照我的下一篇博客。有什么不明白的可以在评论区留言@我,我会持续为大家解答~

    转载引用请标明出处,本博出自喝了少不如不喝的博客https://home.cnblogs.com/u/wangdadada
  • 相关阅读:
    Windows下_findnext()异常问题
    Windows 10正式版官方原版镜像!(备忘)
    qt中出现error: C2059: 语法错误:“namespace”未定义等大量错误的问题
    linux shell的简单思维导图
    高仿花生壳客户端程序(qt)
    公告
    修改注册表自定义键盘快捷键
    斜率优化
    元旦老人与丛林
    CF 1466G Song of the Sirens
  • 原文地址:https://www.cnblogs.com/wangdadada/p/12059274.html
Copyright © 2011-2022 走看看