python冒泡算法详解

可以发现,总共需要循环数组的长度-2次。而且每排序n次,末尾就会有n个数不用排序。我们一步一步来,首先先来个函数,并且加上循环

def Bubble(arr):
    for n in range(len(arr)-2):
        pass

然后,让x从零开始与下标为x+1的比较,一直比较到已经排序好的


def Bubble(arr):
    for n in range(len(arr)-2):
        for x in range(0,len(arr)-1-n):    #减一是因为要和他的下标加一的数比较,避免下标溢出
            a = arr[x]
            b = arr[x+1]
            if a>b:
                arr[x],arr[x+1]=arr[x+1],arr[x]    #交换

不要忘记返回噢!


def Bubble(arr):
    for n in range(len(arr)-2):
        for x in range(0,len(arr)-1-n):
            a = arr[x]
            b = arr[x+1]
            if a>b:
                arr[x],arr[x+1]=arr[x+1],arr[x]
    return arr

 

好了,冒泡排序就到这里!

 

原文链接:https://blog.csdn.net/icaijy/article/details/106430133

 

posted @ 2020-06-08 17:32  逍-遥  阅读(726)  评论(0编辑  收藏  举报
民营企业网B2B