Heim >Backend-Entwicklung >Python-Tutorial >Implementierung der Blasensortierung in Python
Ich habe angefangen, Python zu lernen. Die Formate sind alle vergebens, also bin ich direkt zum Algorithmus der Datenstruktur übergegangen. Schließlich lässt sich das Lesen von Code am schnellsten erlernen
1 Akzeptieren Sie den Eingabe-Py-Code und importieren Sie diese Datei als Eingabe für den nachfolgenden Algorithmus
#!/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)
Blasensortierung: (Diese Implementierung sprudelt aus das Ende nach vorne, Sie können wählen, ob Sie große oder kleine Blasen nehmen möchten)
#!/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