diff options
author | Jed Barber <jjbarber@y7mail.com> | 2015-10-22 14:05:21 +1100 |
---|---|---|
committer | Jed Barber <jjbarber@y7mail.com> | 2015-10-22 14:05:21 +1100 |
commit | 0a48ed023ea65d75851ba2a4151100602695a2fd (patch) | |
tree | d3e5b41e148475d5d7aeca164a9ebc8bc99becdd /sort/pancakesort.hs | |
parent | 7dbbe1156c9489151dca6760b1021db426caf84e (diff) |
Cleaning up source a bit
Diffstat (limited to 'sort/pancakesort.hs')
-rw-r--r-- | sort/pancakesort.hs | 30 |
1 files changed, 0 insertions, 30 deletions
diff --git a/sort/pancakesort.hs b/sort/pancakesort.hs deleted file mode 100644 index 30993ba..0000000 --- a/sort/pancakesort.hs +++ /dev/null @@ -1,30 +0,0 @@ - - - -pancakeSort :: Ord a => [a] -> [a] -pancakeSort [] = [] -pancakeSort cakeStack = - let selectedCake = indexOfLargest cakeStack - cakeStack' = (doFlip (length cakeStack)) . (doFlip selectedCake) $ cakeStack - in (pancakeSort (init cakeStack')) ++ [last cakeStack'] - - - -indexOfLargest :: Ord a => [a] -> Int -indexOfLargest (x:xs) = - let f m i j y = if length y == 0 - then i - else if (head y) > m - then f (head y) j (j+1) (tail y) - else f m i (j+1) (tail y) - in f x 0 1 xs - - - -doFlip :: Int -> [a] -> [a] -doFlip depth list = - let prefix = take (depth + 1) list - rest = drop (depth + 1) list - in (reverse prefix) ++ rest - - |