[Haskell] 합병 정렬
Posted 2008/02/27 22:55merge2 a [] = a
merge2 [] b = b
merge2 (x:xs) (y:ys)
| x < y = x:merge2 xs (y:ys)
| x > y = y:merge2 (x:xs) ys
| otherwise = x:y:merge2 xs ys
mergesort [] = []
mergesort (x:xs) = merge2 [x] (mergesort xs)
> mergesort [1,5,3,7,6]
[1,3,5,6,7]
하스켈은 대표적인 함수형 언어로, 변수가 존재하지 않는 신기한 언어이다. 변수가 없으므로 side-effect가 없어 디버깅에 쏟을 시간을 절약할 수 있다.
.. 라지만 이게 내 첫 하스켈 소스이다.
이올린에 북마크하기
이올린에 추천하기