開始學習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