排序算法_冒泡排序

 

 

a=[77,42,35,12,101,5]
for i in range(len(a)-1):
    for j in range(len(a)-1-i):
        if a[j]>a[j+1]:
            a[j],a[j+1]=a[j+1],a[j]
print(a)

 

a=[77,42,35,12,101,5]
for i in range(len(a)-1):
    flag=True#已经排序好或者中途排序好的数列,直接退出,提高效率
    for j in range(len(a)-1-i):
        if a[j]>a[j+1]:
            a[j],a[j+1]=a[j+1],a[j]
            flag=False
    if flag==True:
        break
print(a)

 

  冒泡排序效率小于选择排序效率。

#将冒泡排序算法写成函数形式
def bubble_sort(a):
    for i in range(len(a)-1):
        for j in range(len(a)-1-i):
            if a[j]>a[j+1]:
                a[j],a[j+1]=a[j+1],a[j]
a=[77,42,35,12,101,5]
bubble_sort(a)
print(a)
原文地址:https://www.cnblogs.com/tianqizhi/p/9102060.html