Anonymous user
Remove duplicate elements: Difference between revisions
→{{header|Haskell}}
(Added Elixir) |
|||
Line 1,028:
=={{header|Haskell}}==
<lang haskell>values = [1,2,3,2,3,4]▼
==Usage==
unique = List.nub values</lang>▼
[4,5,2,3]</lang>
==Sorted result using Set==
O(n ln(n)). Requires there is a partial ordering of elements.
<lang haskell>import qualified Data.Set as Set
unique :: Ord a => [a] -> [a]
unique = Set.toList . Set.fromList</lang>
==Unsorted result using Set==
O(n ln(n)). Retains original order. Requires there is a partial ordering of elements.
<lang haskell>import Data.Set
unique :: Ord a => [a] -> [a]
unique = loop empty
where
loop s [] = []
loop s (x : xs) | member x s = loop s xs
| otherwise = x : loop (insert x s) xs</lang>
==nub Library function==
O(n^2). Retains original order. Requires that elements can be compared for equality.
<lang haskell>import Data.List
unique :: Eq a => [a] -> [a]
=={{header|HicEst}}==
|