arduino scratch创客教育python初学者

冒泡排序算法学习笔记

2017-11-16  本文已影响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)#循环比较结束,输出排序结果
上一篇下一篇

猜你喜欢

热点阅读