当前位置:Gxlcms > Python > 冒泡排序python实现

冒泡排序python实现

时间:2021-07-01 10:21:17 帮助过:10人阅读

开始学习python,格式神马的都是浮云,直接上数据结构的算法。毕竟读代码学习最快

1 接受输入的py代码,以后的算法的输入import这个文件

  1. #!/usr/bin/env python
  2. #coding=utf-8
  3. # stdinInput.py
  4. intsortArrays=[]
  5. def stdinInput():
  6. sortArray=raw_input("please input num array that you want sort(use , to split every num) :")
  7. sortArrays=sortArray.split(',')
  8. for num in sortArrays:
  9. intnum=-1
  10. try:
  11. intnum=int(num)
  12. except:
  13. print "input num array error, error element was given an default value -1"
  14. intsortArrays.append(intnum)

冒泡排序:(本实现是从最后往前冒泡,可以选择是冒大的泡还是小的泡)

  1. #!/usr/bin/env python
  2. #coding=utf-8
  3. #BubbleSort.py
  4. #user can choose sort style: desc(1) or asc(2)
  5. import sys
  6. import stdinInput
  7. def bubblesort(sortarray,style):
  8. sortarraylen=len(sortarray)
  9. whileNum=0
  10. if style==1:
  11. while whileNum < sortarraylen-1:
  12. for num in xrange(sortarraylen-1,whileNum,-1):
  13. if sortarray[num-1]<sortarray[num]:
  14. sortarray[num-1],sortarray[num]=sortarray[num],sortarray[num-1]
  15. whileNum=whileNum+1
  16. else:
  17. while whileNum < sortarraylen-1:
  18. for num in xrange(sortarraylen-1,whileNum,-1):
  19. if sortarray[num-1]>sortarray[num]:
  20. sortarray[num-1],sortarray[num]=sortarray[num],sortarray[num-1]
  21. whileNum=whileNum+1
  22. if __name__=='__main__':
  23. style=1
  24. try:
  25. style=int(sys.argv[1])
  26. except:
  27. print "input argv error, use default desc sort"
  28. stdinInput.stdinInput()
  29. bubblesort(stdinInput.intsortArrays,style)
  30. print stdinInput.intsortArrays

人气教程排行