Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import Data.Ord
- import Data.List
- -- | Sorting a List by frequency of their Elements
- sortByFreq :: Eq a => [a] -> [a]
- sortByFreq lis = sortF $ getFreq lis $ map (\x -> (x, 0)) $ nub lis
- where getFreq [] freq = freq
- getFreq (x:xs) freq = getFreq xs $ map (\(elem, freq) ->
- if x == elem
- then (elem, freq + 1)
- else (elem, freq)) freq
- sortF = sortBy (comparing snd)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement