Erstellen Sie mit Python den "Quicksort", der in "Learn You Haskell for Great Good" angezeigt wird, ohne die Aufnahme und Wiederholung der Liste zu ändern. Das war's, aber ich werde es vorerst belassen, da es eines Tages für etwas nützlich sein könnte.
def quicksort(x):
if x==[]: return []
smallerSorted = quicksort([a for a in x[1:] if a <= x[0]])
biggerSorted = quicksort([a for a in x[1:] if a > x[0]])
return(smallerSorted+[x[0]]+biggerSorted)
x = [10,2,5,3,1,6,7,4,2,3,4,8,9]
print(quicksort(x))
[1, 2, 2, 3, 3, 4, 4, 5, 6, 7, 8, 9, 10]
Recommended Posts