day⑤:冒泡排序

冒泡排序

将一个不规则的数组按从小到大的顺序进行排序

data=[10,4,33,21,54,3,8,11,5,22,2,1,17,13,6]


  1. #!/usr/bin/env python
  2. #coding=utf-8
  3. import re
  4. data = [10,4,33,21,54,3,8,11,5,22,2,1,17,13,6]
  5. # for j in range(len(data)):
  6. # for i in range(len(data)-1):
  7. # if data[i] > data[i+1]:
  8. # tmp=data[i+1]
  9. # data[i+1]=data[i]
  10. # data[i]=tmp
  11. # print(data)
  12. #上面例子,也是可以得出结果,但是多循环了n遍
  13. #避免循环n多次,所以每次-j
  14. for j in range(1,len(data)): #为什么从1开始呢,因为第一次小循环,到最后会没有data[15]
  15. for i in range(len(data)-j):
  16. if data[i] > data[i+1]:
  17. tmp=data[i+1]
  18. data[i+1]=data[i]
  19. data[i]=tmp
  20. print(data)
  21. 结果:
  22. [1, 2, 3, 4, 5, 6, 8, 10, 11, 13, 17, 21, 22, 33, 54]






原文地址:https://www.cnblogs.com/binhy0428/p/5221232.html