1.算法描述:

(1)共循环 n-1 次

(2)每次循环中,如果 前面的数大于后面的数,就交换

(3)设置一个标签,如果上次没有交换,就说明这个是已经好了的。

2.代码

#!/usr/bin/python
# -*- coding: utf-8 -*-

def bubble(l):
    flag = True
    for i in range(len(l)-1, 0, -1):
        if flag: 
            flag = False
            for j in range(i):
                if l[j] > l[j + 1]:
                    l[j], l[j+1] = l[j+1], l[j]
                    flag = True
        else:
            break
    print l

li = [21,44,2,45,33,4,3,67]
bubble(li)

 

结果:[2, 3, 4, 21, 33, 44, 45, 67]

3.时间复杂度:n(n-1)/2

相关文章:

  • 2022-12-23
  • 2021-12-09
  • 2021-10-09
  • 2021-05-13
  • 2021-10-22
  • 2021-04-27
猜你喜欢
  • 2021-05-19
  • 2021-12-30
  • 2021-05-23
  • 2021-12-25
  • 2021-09-01
  • 2022-01-07
  • 2022-01-25
相关资源
相似解决方案