1
Вот моя реализация:реализация Haskell компилирует, но слияние не возвращает что-нибудь
mergesort :: (Ord a) => [a] -> [a]
mergesort list = merge (mergesort (left list)) (mergesort (right list))
where
left xs = take (div (length xs) 2) xs
right xs = drop (div (length xs) 2) xs
merge [] ys = ys
merge xs [] = xs
merge (x:xs) (y:ys)
| x <= y = x : merge xs (y:ys)
| otherwise = y : merge (x:xs) ys
Код компилируется, но когда я его запускаю мои аварии машины. Что я делаю не так?
Был ли ваш * оригинальный * код пустым чехлом? * Если нет *, пожалуйста, откат, который редактируется. и пусть Алек знает, чтобы он мог удалить ссылки на этот случай в своем ответе. – Bakuriu
shouldve ответили правильно. Сожалею! – dopatraman