冒泡排序 Python

2023-07-28 20:31:29 浏览数 (1)

原版

两个循环嵌套,外循环n-1次,内循环n-1次,每次找到大小顺序不对的就交换两个数的位置。

代码

代码语言:javascript复制
def bubble(number,n):
    for i in range(0,n-1):
        for j in range(0,n-1):
            if number[j]>number[j 1]:
                number[j],number[j 1]=number[j 1],number[j]
number=[1,3,6,8,2,5,4,9,0,7]
bubble(number,10)
print(number)

升级版

也许并不需要循环这么多次就已经排序好了,所以我们在发现有一轮循环中没有发生交换就跳出循环。

代码

代码语言:javascript复制
def bubble(number,n):
    for i in range(0,n-1):
        tag=0
        for j in range(0,n-1):
            if number[j]>number[j 1]:
                number[j],number[j 1]=number[j 1],number[j]
                tag=1
        if tag==0:
            break
number=[1,3,6,8,2,5,4,9,0,7]
bubble(number,10)
print(number)

 冒泡排序超进化版本——快速排序

https://blog.csdn.net/weixin_62264287/article/details/123028838?spm=1001.2014.3001.5502

https://blog.csdn.net/weixin_62264287/article/details/123028838?spm=1001.2014.3001.5502

0 人点赞