Skip to content

Commit 71ab30d

Browse files
committed
added medium algo
1 parent 59431a5 commit 71ab30d

File tree

5 files changed

+23
-1
lines changed

5 files changed

+23
-1
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,6 @@
1717

1818
#### Medium
1919

20+
* Sort List
21+
2022
#### Hard

haskell-things.cabal

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@ cabal-version: >=1.10
1414
extra-source-files: README.md
1515

1616
executable haskell-things
17-
hs-source-dirs: src, src/Easy
17+
hs-source-dirs: src
18+
, src/Easy
19+
, src/Medium
1820
main-is: Main.hs
1921
default-language: Haskell2010
2022
build-depends: base >= 4.7 && < 5, containers
@@ -27,3 +29,4 @@ executable haskell-things
2729
, SortArrayByParity
2830
, ToLowerCase
2931
, MinimumIndexSumofTwoLists
32+
, SortList

haskell-things.iml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
<content url="file://$MODULE_DIR$">
66
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
77
<sourceFolder url="file://$MODULE_DIR$/src/Easy" isTestSource="false" />
8+
<sourceFolder url="file://$MODULE_DIR$/src/Medium" isTestSource="false" />
89
<excludeFolder url="file://$MODULE_DIR$/.stack-work" />
910
</content>
1011
<orderEntry type="inheritedJdk" />

src/Main.hs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,32 +9,40 @@ import TargetArrayInGivenOrder
99
import SortArrayByParity
1010
import ToLowerCase
1111
import MinimumIndexSumofTwoLists
12+
import SortList
1213

1314
main :: IO ()
1415
main = do
1516
putStrLn "<-- FizzBuzz -->"
1617
putStrLn $ unlines $ fizzbuzz [1..100]
18+
1719
putStrLn "<-- TwoSum -->"
1820
print $ twosum [4, 5, 2, 5] 7
21+
1922
putStrLn "<-- Running Sum -->"
2023
print $ runningsum [1, 1, 1, 1, 1]
2124
print $ runningsum [1, 2, 3, 4]
25+
2226
putStrLn "<-- Smaller Numbers Than Current -->"
2327
print $ smallerNumbersThanCurrent [8, 1, 2, 2, 3]
2428
print $ smallerNumbersThanCurrent [6, 5, 4, 8]
29+
2530
putStrLn "<-- Num Of Steps to Reduce Num To Zero -->"
2631
print $ numOfStepsToReduceNumToZero 14
2732
print $ numOfStepsToReduceNumToZero 8
2833
print $ numOfStepsToReduceNumToZero 123
34+
2935
putStrLn "<-- Target Array In Given Order -->"
3036
print $ targetArrayInGivenOrder [0, 1, 2, 3, 4] [0, 1, 2, 2, 1]
3137
print $ targetArrayInGivenOrder [1, 2, 3, 4, 0] [0, 1, 2, 3, 0]
38+
3239
putStrLn "<-- Sort Array By Parity -->"
3340
print $ sortArrayByParity [3, 1, 2, 4]
3441
print $ sortArrayByParity [1, 2, 3, 4]
3542
putStrLn "<-- To Lower Case -->"
3643
putStrLn $ toLowerCase "Hello"
3744
putStrLn $ toLowerCase "LOVELY"
45+
3846
putStrLn "<-- Minimum Index Sum of Two Lists -->"
3947
print $ minimumIndexSumofTwoLists ["Shogun","Tapioca Express","Burger King","KFC"]
4048
["Piatti","The Grill at Torrey Pines","Hungry Hunter Steakhouse","Shogun"]
@@ -45,3 +53,6 @@ main = do
4553
print $ minimumIndexSumofTwoLists ["Shogun","Tapioca Express","Burger King","KFC"]
4654
["KNN","KFC","Burger King","Tapioca Express","Shogun"]
4755

56+
putStrLn "<-- Sort List -->"
57+
print $ sortList [9, 3, 4, 1]
58+
print $ sortList ['c', 'a', 'f', 'y']

src/Medium/SortList.hs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
module SortList ( sortList ) where
2+
3+
sortList :: (Ord a) => [a] -> [a]
4+
sortList (x:xs) = sortList [y | y <- xs, y <= x] ++ [x] ++ sortList [y | y <- xs, y > x]
5+
sortList [] = []

0 commit comments

Comments
 (0)