diff --git a/contents/bogo_sort/bogo_sort.md b/contents/bogo_sort/bogo_sort.md index cc8e9ce2a..5f493e0e1 100644 --- a/contents/bogo_sort/bogo_sort.md +++ b/contents/bogo_sort/bogo_sort.md @@ -69,6 +69,8 @@ In code, it looks something like this: [import:12-16, lang:"scala"](code/scala/bogo.scala) {% sample lang="go" %} [import:27-31, lang:"go"](code/go/bogo_sort.go) +{% sample lang="coco" %} +[import:6-8, lang:"coconut"](code/coconut/bogo.coco) {% endmethod %} That's it. @@ -137,6 +139,8 @@ We are done here! [import, lang:"scala"](code/scala/bogo.scala) {% sample lang="go" %} [import, lang:"go"](code/go/bogo_sort.go) +{% sample lang="coco" %} +[import, lang:"coconut"](code/coconut/bogo.coco) {% endmethod %} diff --git a/contents/bogo_sort/code/coconut/bogo.coco b/contents/bogo_sort/code/coconut/bogo.coco new file mode 100644 index 000000000..bc467bafb --- /dev/null +++ b/contents/bogo_sort/code/coconut/bogo.coco @@ -0,0 +1,15 @@ +import random + + +is_sorted = l -> (l, l[1:]) |*> zip |> map$(t -> t[0] <= t[1]) |> all + +def bogo_sort(a): + while not is_sorted(a): + random.shuffle(a) + + +if __name__ == '__main__': + a = [1, 3, 2, 4] + print('Unsorted:', a) + bogo_sort(a) + print('Sorted:', a)