Weil das Buch, das ich las, zum Kapitel über Algorithmen kam. Übe Sortierung einfügen ist. Gefällt mir Sortieren Sie den Inhalt des Arrays in ABC-Reihenfolge Sortieren.
insertion_sort.py
# coding: UTF-8
#Japanisch kann ohne ↑ nicht in den Code aufgenommen werden
List = ['Fred', 'Alex', 'Diana', 'Byron', 'Carol' ]
#Einfügemethode
N = 2 #Die Einfügemethode beginnt mit dem Berühren des zweiten Elements
while len(List) >= N: #Solange der Wert von N die Länge der Liste nicht überschreitet
pip = List[N-1] #Drehen Sie das N-te Element, verschieben Sie den Inhalt an einen temporären Ort.
List[N-1] = 'BLANK' #Machen Sie eine Lücke (es ist nicht erforderlich, die Lücke anzugeben)
sukima = N-1 #Position der ersten Lücke
while sukima != 0: #Solange "über der Lücke ein Name steht (= die aktuelle Lücke ist das zweite und nachfolgende Element)"
if List[sukima-1] > pip: #Wenn "knapp über dem Spalt größer als der Drehpunkt ist"
List[sukima] = List[sukima-1] #Lass es in die Lücke fallen
sukima = sukima-1 #Die Spitze ist eine neue Lücke.
else: break
List[sukima] = pip #Setzen Sie den Drehpunkt wieder in die Lücke ein.
N = N + 1 #Inkrementieren und Verarbeitung wiederholen
#Ausgabe
for x in List:
print x
Vergleichen Sie in der Mitte die Größe des Pivots und die Zeichenfolge des Elements.
Ich bin mir nicht sicher, was "die Größe der Zeichenkette" hier bedeutet.
Aber min (List)
gibt Arex zurück und max (List)
gibt Fred zurück, also
Ich gehe davon aus, dass die Zeichenkette umso größer ist, je später in der ABC-Reihenfolge.
Ergebnis Es macht Spaß, wenn es funktioniert.
Einführung in die Informatik p218-p222
Recommended Posts