Ich schrieb die folgenden Haskell Funktionen:Wie schreibe ich InsertionSort mit Foldr?
myInsert :: Ord a => a -> [a] -> [a]
myInsert x [] = [x]
myInsert x (y:ys) = if x < y then x:y:ys else y:myInsert x ys
insertionSort :: Ord a => [a] -> [a]
insertionSort [] = []
insertionSort [x] = [x]
insertionSort (x:xs) = myInsert x (insertionSort xs)
Wie Sie sehen können, "InsertionSort" abhängig von "myInsert", und sie funktionieren gut. Jetzt werde ich gebeten, "foldr" in "insertioSort" zu verwenden, aber ich konnte kein erfolgreiches Ergebnis erzielen.
Ich werde Ihr Feedback zu schätzen wissen.
Die Implementierung, die Sie hier zeigen, ist nicht wirklich relevant; Deine Frage ist wirklich nur "Wie schreibe ich' insertionSort' mit 'foldr'?" – chepner