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
  • 相关阅读:
    dfs-入门模板
    dp-状压dp
    c++ sizeof详解
    各种排序算法
    简介
    第178场周赛总结
    单调队列
    2019.10.24刷题统计
    2019.10.23刷题统计
    2019.10.22刷题统计
  • 原文地址:https://www.cnblogs.com/wangdadada/p/12059274.html
Copyright © 2011-2022 走看看