冒泡排序的两种写法-2021-09-24



一、前言

    我运用到的编辑器是Anaconda3的JupyterNotebook,python的版本python3.


二、不同写法


1.第一种

代码如下(示例):

source=[1,10,35,61,89,36,55];
length=len(source);
print("冒泡排序:",end='');
for i in range(length):
    print("%3d"%source[i],end="");
print();

for i in range(length,0,-1):  #7 6 5 4 3 2 1
    for j in range(i-1):    #i=7:0 1 2 3 4 5 
        if source[j]> source[j+1]:
            source[j],source[j+1] = source[j+1],source[j];
    print("第%d次排序后的结果:" %(8-i),end='');
    for i in range(length):
        print("%3d"%source[i],end="");
    print();

print("冒泡排序:",end='');
for i in range(length):
    print("%3d"%source[i],end="");
print("\n排序结果:",end='');
for j in range(length):
    print("%3d"%source[j],end="");
print();

 运行结果:

冒泡排序:  1 10 35 61 89 36 55
第1次排序后的结果:  1 10 35 61 36 55 89
第2次排序后的结果:  1 10 35 36 55 61 89
第3次排序后的结果:  1 10 35 36 55 61 89
第4次排序后的结果:  1 10 35 36 55 61 89
第5次排序后的结果:  1 10 35 36 55 61 89
第6次排序后的结果:  1 10 35 36 55 61 89
第7次排序后的结果:  1 10 35 36 55 61 89
冒泡排序:  1 10 35 36 55 61 89
排序结果:  1 10 35 36 55 61 89


2.第二种

代码如下(示例):

source=[1,10,35,61,89,36,55];
def bubble_sort(array):
    for i in range(1, len(array)):
        for j in range(0, len(array)-i):
            if array[j] > array[j+1]:
                array[j], array[j+1] = array[j+1], array[j]
    return array
'''
版权声明:本文为CSDN博主「Python碎片」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43790276/article/details/104033622

'''
print(bubble_sort(source))

运行结果:

[1, 10, 35, 36, 55, 61, 89]



冒泡排序原理详细介绍:

我在本网站看到了一篇讲的很详细的文章

地址是:Python实现冒泡排序_Python碎片的博客-CSDN博客_python冒泡排序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值