1

マージソートアルゴリズムを利用したいと思います。mergeSortは、マージ関数を最初のパラメーターとして待機するメイン関数です私の場合、どこに問題があるのでしょうか。事前にどうもありがとうございました。

mergeSort xs = merge xs
mergeDesc xs = reverse (mergeAsc xs)
mergeAsc [] = []
mergeAsc [x] = [x]
mergeAsc xs = merge (mergeAsc top) (mergeAsc bottom) where (top, bottom) = splitAt (length xs `div` 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
4

1 に答える 1