Just another update
This commit is contained in:
parent
a25938f123
commit
00a190b0a6
6591 changed files with 94363 additions and 23227 deletions
|
|
@ -0,0 +1,16 @@
|
|||
import Data.Maybe (fromMaybe)
|
||||
import Control.Monad
|
||||
|
||||
bubbleSortBy :: (a -> a -> Bool) -> [a] -> [a]
|
||||
bubbleSortBy f as = case innerSort $ reverse as of
|
||||
Nothing -> as
|
||||
Just v -> let (x:xs) = reverse v
|
||||
in x : bubbleSortBy f xs
|
||||
where innerSort (a:b:cs) = if b `f` a
|
||||
then liftM (a:) $ innerSort (b:cs)
|
||||
else Just $ b : fromMaybe (a:cs)
|
||||
(innerSort $ a:cs)
|
||||
innerSort _ = Nothing
|
||||
|
||||
bsort :: Ord a => [a] -> [a]
|
||||
bsort = bubbleSortBy (<)
|
||||
Loading…
Add table
Add a link
Reference in a new issue