冒泡排序算法-Python描述

    冒泡排序的思想:假如数列有n个数,我们从第n个数开始,比较第n个数与第n-1个数的大小,如果第n个小于第n-1个,则交换两者的位置,否则不动;依次进行下去直到数组当中的第一个元素,此时第一个元素就是整个数组当中最小的数值;然后再一次比较数组第n个与第n-1个数组的大小,后面的小于前面的则交换两者的位置,直到整个数组的第2个数为止(因为第一个元素是全数组当中最小的一个,所以不必继续跟它比较了),这样大循环 n-2 次,里面的小循环循环的次数为 直到之前被排出来的那个相对最小值;


def getrandata(num):
    a=[] 
    i=0
    while i<num:
        a.append(random.randint(0,100))
        i+=1
    return a
    

shu=getrandata(10)

shu
Out[19]: [59, 2, 14, 65, 79, 68, 22, 74, 17, 0]


def bubble(a):
    l=len(a)-2
    i=0
    while (i<l):    #大循环l次
        j=l
        while (j>=i):
            if (a[j]>a[j+1]):
                a[j+1],a[j]=a[j],a[j+1]
            j-=1
        i+=1
    return a


bubble(shu)
Out[22]: [0, 2, 14, 17, 22, 59, 65, 68, 74, 79]

    原文作者:排序算法
    原文地址: https://blog.csdn.net/qq_14959801/article/details/52802151
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞