Sie können Blasensortierung verwenden, jedes Mal die beiden benachbarten vergleichen und dann die größeren Daten am Ende einfügen, sodass nach dem ersten Durchgang die größte Zahl ausgeführt wird. Am Ende die Die nächste Sortierung muss nicht mit der letzten Zahl verglichen werden, und dann befindet sich die vorletzte größte Zahl an der vorletzten ... Daher können zwei Funktionen verwendet werden, eine wird zur Steuerung der Zahl verwendet von Elementen in jedem Vergleich, eines für den Austausch:
#!/usr/bin/python # -*- coding: UTF-8 -*- if __name__ == "__main__": N = 10 # input data print '请输入10个数字:\n' l = [] for i in range(N): l.append(int(raw_input('输入一个数字:\n'))) print for i in range(N): print l[i] print # 排列10个数字 for i in range(N - 1): min = i for j in range(i + 1,N): if l[min] > l[j]:min = j l[i],l[min] = l[min],l[i] print '排列之后:' for i in range(N): print l[i]
Das Ausgabeergebnis des obigen Beispiels ist:
请输入10个数字: 输入一个数字:5 输入一个数字:3 输入一个数字:23 输入一个数字:67 输入一个数字:2 输入一个数字:56 输入一个数字:45 输入一个数字:98 输入一个数字:239 输入一个数字:9 5 3 23 67 2 56 45 98 239 9 排列之后: 2 3 5 9 23 45 56 67 98 239
Das obige ist der detaillierte Inhalt vonWelche zwei Möglichkeiten gibt es, die Blasensortierung zu schreiben? Verwenden Sie die Blasensortierung, um 10 Zahlen anzuordnen.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!