From f00fcf6bd2b5e8250796091271b9960c6b51e317 Mon Sep 17 00:00:00 2001 From: sebastianselander Date: Wed, 24 May 2023 15:54:05 +0200 Subject: [PATCH] edited quicksort file for demo --- demo/quicksort | Bin 450128 -> 441912 bytes demo/quicksort.crf | 22 ++++++++++++++-------- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/demo/quicksort b/demo/quicksort index b0339d3a46a85b1306ec051d0fba43469a366eb2..3917ce212764648af3fad00c8dc901a9f34e6d82 100755 GIT binary patch delta 20060 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

=D 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 Bool) -> List a -> List a -filter p xs = case xs of - Nil => Nil - Cons x xs => case p x of - True => Cons x (filter p xs) - False => filter p xs +data List a where + Nil : List a + Cons : a -> List a -> List a quicksort : List Int -> List Int quicksort xs = case xs of @@ -13,10 +9,20 @@ quicksort xs = case xs of let bigger = quicksort (filter (\y. a < y) xs) in smaller ++ (Cons a bigger) +.++ list1 list2 = case list1 of + Nil => list2 + Cons x xs => Cons x (xs ++ list2) + +filter : (a -> Bool) -> List a -> List a +filter p xs = case xs of + Nil => Nil + Cons x xs => case p x of + True => Cons x (filter p xs) + False => filter p xs + mkDescList : Int -> Int -> List Int mkDescList from to = case from == to of True => Nil False => Cons from (mkDescList (from - 1) to) main = printList (quicksort (mkDescList 1000 0)) -