Pythonの学習を始めましょう。形式はすべて曇っているため、データ構造のアルゴリズムを直接学ぶことができます。結局のところ、コードを読むことが最も早い学習方法です
1 入力 py コードを受け入れ、後続のアルゴリズムの入力としてこのファイルをインポートします
#!/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