我正在學習Haskell,我無法理解這個函數。我正在執行mergesort。我已經實現了mergesort遞歸函數,但我不明白這個「合併」函數在做什麼。我理解命令式語言中的合併排序,但我不明白這裏的語法。在Haskell中解釋這個'合併'函數
merge [] ys = ys
merge xs [] = xs
merge [email protected](x:xt) [email protected](y:yt) | x <= y = x : merge xt ys
| otherwise = y : merge xs yt
從我看到這個函數合併兩個排序列表,並返回一個排序列表。你不明白的是什麼?它是語法嗎? –
是的,請參閱我的編輯。謝謝。 – csnate
請參閱http://www.haskell.org/haskellwiki/Keywords#.40。 –