冒泡排序python实现
程序员文章站
2022-05-12 09:53:15
...
开始学习python,格式神马的都是浮云,直接上数据结构的算法。毕竟读代码学习最快
1 接受输入的py代码,以后的算法的输入import这个文件
#!/usr/bin/env python #coding=utf-8 # stdinInput.py intsortArrays=[] def stdinInput(): sortArray=raw_input("please input num array that you want sort(use , to split every num) :") sortArrays=sortArray.split(',') for num in sortArrays: intnum=-1 try: intnum=int(num) except: print "input num array error, error element was given an default value -1" intsortArrays.append(intnum)
冒泡排序:(本实现是从最后往前冒泡,可以选择是冒大的泡还是小的泡)
#!/usr/bin/env python #coding=utf-8 #BubbleSort.py #user can choose sort style: desc(1) or asc(2) import sys import stdinInput def bubblesort(sortarray,style): sortarraylen=len(sortarray) whileNum=0 if style==1: while whileNum < sortarraylen-1: for num in xrange(sortarraylen-1,whileNum,-1): if sortarray[num-1]<sortarray[num]: sortarray[num-1],sortarray[num]=sortarray[num],sortarray[num-1] whileNum=whileNum+1 else: while whileNum < sortarraylen-1: for num in xrange(sortarraylen-1,whileNum,-1): if sortarray[num-1]>sortarray[num]: sortarray[num-1],sortarray[num]=sortarray[num],sortarray[num-1] whileNum=whileNum+1 if __name__=='__main__': style=1 try: style=int(sys.argv[1]) except: print "input argv error, use default desc sort" stdinInput.stdinInput() bubblesort(stdinInput.intsortArrays,style) print stdinInput.intsortArrays