Python实现冒泡排序

l = [1, 4, 5, 2, 9, 7, 3]
for i in range(len(l)-1):
    for j in range(len(l)-1-i): #我们每循环一次都会将最大的数推到最右边,所以需要将最右边排好的数拿走
        if l[j] > l[j+1]:#前一个数与后一个数依次比较,直到将最大的数推到右边
            l[j], l[j+1] = l[j+1], l[j]
    #print(l)
print(l)

 

 

import randomdef bubble_sort(li):
    for i in range(len(li)-1): # i表示第i趟
        for j in range(len(li)-i-1):
            if li[j] > li[j+1]:
                li[j], li[j+1] = li[j+1], li[j]

def bubble_sort_2(li):
    for i in range(len(li)-1): # i表示第i趟
        exchange = False
        for j in range(len(li)-i-1):
            if li[j] > li[j+1]:
                li[j], li[j+1] = li[j+1], li[j]
                exchange = True
        if not exchange:
            break

li = list(range(10000))
#random.shuffle(li)
bubble_sort(li)

 


posted @ 2018-07-10 21:08  小学弟-  阅读(272)  评论(0编辑  收藏  举报