排序算法_冒泡排序

 

 

 

 

 

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)

 

posted @ 2018-05-28 20:20  耐烦不急  阅读(230)  评论(0编辑  收藏  举报