Haskell - Как продолжить код «Сортировать отсортированные» из трех списков - PullRequest
0 голосов
/ 18 апреля 2019

Я знаю, как объединить два отсортированных списка в Haskell, однако я не знаю, как объединить три отсортированных списка. Я написал код, что мне делать дальше?

Я действительно новичок в программировании на Haskell, я смотрел фильм "Learn You a Haskell for Great Good!" как начало учить Haskell. Я пытался следовать формату объединения двух отсортированных списков:

mergeS :: (Ord a) => [a] -> [a] -> [a] -> [a]
mergeS [] [] [] = []
mergeS (x:xs) [] [] = (x:xs)
mergeS [] (y:ys) [] = (y:ys)
mergeS [] [] (z:zs) = (z:zs)
mergeS (x:xs) (y:ys) (z:zs) -- I do not know how to write from here

Правильный ответ будет примерно таким:

mergeS :: (Ord a) => [a] -> [a] -> [a] -> [a]

mergeTwoLists :: Ord a => [a] -> [a] -> [a]

...

mergeS x y z = mergeTwoLists x (mergeTwoLists y z)

1 Ответ

3 голосов
/ 18 апреля 2019

Вы знаете, как объединить два отсортированных списка. Теперь просто сделай это дважды.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...