首页 > 代码库 > python 算法中的--冒泡排序

python 算法中的--冒泡排序

#列表每两个相邻的数,如果前面的比后面的大,那么就交换这两个数
# shuffle() 方法将序列的所有元素随机排序。
import random
def bubble_sort(li):
    for i in range(len(li)-1): #i代表趟
        for j in range(len(li)-i-1): #j列表
            if li[j]>li[j+1]:
                li[j],li[j+1]=li[j+1],li[j]
data=list(range(5))
random.shuffle(data) #打乱排序
print(data)
bubble_sort(data)
print(data)

 


# [2, 1, 3, 0, 4]
# [0, 1, 2, 3, 4]

#冒泡排序中执行一趟而没有交换,则列表已经是有序状态,可以直接结束算法。
import random
def bubble_sort(li):
    for i in range(len(li)-1): #i代表趟
        exchange=False
        for j in range(len(li)-i-1): #j列表
            if li[j]>li[j+1]:
                li[j],li[j+1]=li[j+1],li[j]
                exchange=True
        if not exchange:
            return
data=list(range(5))
print(data)
bubble_sort(data)
print(data)

 

python 算法中的--冒泡排序