Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- groupElems :: Eq a => [a] -> [[a]]
- groupElems [] = []
- groupElems xs = groupElemsHelper xs [] []
- where
- groupElemsHelper [x] curlist res
- | null curlist = reverse ([x] : res)
- | x == last curlist = reverse (curlist : res)
- | otherwise = reverse ([x] : res)
- groupElemsHelper (prev:xs) curlist res
- | null curlist = groupElemsHelper (prev:xs) (prev : curlist) res
- | head xs == prev = groupElemsHelper xs (head xs : curlist) res
- | otherwise = groupElemsHelper xs [] (curlist : res)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement