冒泡排序算法学习笔记

作者: 爱猫猫的老狗 | 来源:发表于2017-11-16 08:33 被阅读4次

    冒泡排序算法的流程如下:
    比较相邻的元素。 如果第一个比第二个大,就交换他们两个。
    对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。 在这一点,最后的元素应该会是最大的数。
    针对所有的元素重复以上的步骤,除了最后一个。
    持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

    感谢原作者:咖喱py

    链接:http://www.jianshu.com/p/c7705776f547
    來源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    def bubble(a):
        b = len(a) - 1 #一共要循环比较的次数是列表长度-1
        while b : #如果次数为0退出循环
            for i in range(b):#循环b次
                j = i + 1#下一个项目元素
                if a[i]>a[j]:#如果当前项目元素大于下一个元素
                    a[i], a[j] = a[j], a[i]#就交换位置(就把大的放在后面)
            b -= 1    #循环次数减一(不用每次都全部遍历比较,\
                      #因为每次遍历都会产生一个最大值放在后面,
                      #这个值就不用再参加下次的比较了,
                      #也就是说遍历的次数可以逐次减一,
                      #提高程序效率。)
        print(a)#循环比较结束,输出排序结果
    

    相关文章

      网友评论

        本文标题:冒泡排序算法学习笔记

        本文链接:https://www.haomeiwen.com/subject/etjxvxtx.html