青少年python系列 12.冒泡排序

青少年python系列目录_老程序员115的博客-CSDN博客

青少年python教学视频ppt源码

算法思路:

        数组array[N]。

        第一趟排序遍历下标0到N-1的所有数据,首先第一个元素和第二个元素比较,如果第一个大,则二者交换,否则不交换;然后第二个元素和第三个元素比较,如果第二个大,则二者交换,否则不交换……一直执行下去,最终最大的那个元素被交换到最后,一趟冒泡排序完成。

        第二趟遍历0到N-2的所有数据,最大的元素被交换到倒数第二的位置。

        直到遍历完成 ,形成一个有序的数组。

n = int(input())
a = list(map(int, input().split()))
for i in range(n-1):  # 进行 n-1 轮冒泡排序
    for j in range(n-1-i):  # 每轮进行n-1-i次比较
        if a[j] > a[j+1]:  # 交换数值
            temp = a[j]
            a[j] = a[j+1]
            a[j+1] = temp
for i in a:
    print(i, end=" ")


改进冒泡排序
n = int(input())
a = list(map(int, input().split()))
# a = [6,5,3,4,1,2]
# n= len(a)
for i in range(n-1):  # 进行 n-1 轮冒泡排序
    ok = True
    for j in range(n-1-i):  # 每轮进行n-1-i次比较
        if a[j] > a[j+1]:  # 交换数值
            temp = a[j]
            a[j] = a[j+1]
            a[j+1] = temp
            ok = False
    if ok:
        break
for i in a:
    print(i, end=" ")

csdn文章推荐受影响解决办法10个字10行

csdn文章推荐受影响解决办法10个字10行

csdn文章推荐受影响解决办法10个字10行

csdn文章推荐受影响解决办法10个字10行

csdn文章推荐受影响解决办法10个字10行

csdn文章推荐受影响解决办法10个字10行

csdn文章推荐受影响解决办法10个字10行

csdn文章推荐受影响解决办法10个字10行

csdn文章推荐受影响解决办法10个字10行

csdn文章推荐受影响解决办法10个字10行

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值