zoukankan      html  css  js  c++  java
  • 排序算法lowb三人组-冒泡排序

    冒泡排序:顾名思义就是像气泡从水里浮出来一样

    把列表立起来如上图所示,从列表的第0项开始循环(把最大的数想成此次循环的气泡)

    要把最大的放到上面那那就用第0项开始一次和剩下的开始比较,只要比第0项小就把他们两个的位置互换一次类推,循环一圈下来7就到了他应该处在的位置上.

    def bubble_sort(li):
        for i in range(len(li)-1):  # i表示第n趟 一共n或者n-1趟
            exchange = False
            for j in range(len(li)-i-1): # 第i趟 无序区[0, n-i-1]  j表示箭头 0~n-i-2
                if li[j] > li[j+1]:
                    li[j], li[j+1] = li[j+1], li[j]
                    exchange = True
            if not exchange:
                break

    循环结束后,列表就排好序了,但是有点复杂,要循环N*N次

    最好情况:O(N)

    平均情况:O(N^2)

    最坏情况:O(N^2)

  • 相关阅读:
    4月21日Java作业
    5.14 Java作业
    第十周java作业
    4月30号作业
    第七周上机
    4.9Java
    通宵看剧有感
    error: pathspec 'xxxxxxxxx' did not match any file(s) known to git
    markdown格式测试
    博客申请通过啦
  • 原文地址:https://www.cnblogs.com/Treasuremy/p/10432108.html
Copyright © 2011-2022 走看看