From 7c59c09f13ef38429baedac36aa788b15363ea19 Mon Sep 17 00:00:00 2001 From: Unlambder <31901933+Unlambder@users.noreply.github.com> Date: Fri, 29 Jun 2018 12:17:01 +0200 Subject: [PATCH 1/7] Update book.json Added racket lang. --- book.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/book.json b/book.json index d32aedc1f..5245608c1 100644 --- a/book.json +++ b/book.json @@ -86,6 +86,10 @@ { "lang": "go", "name": "Go" + }, + { + "lang": "racket", + "name": "Racket" } ], From 667dce6972497abd757491806ebc8c2745696494 Mon Sep 17 00:00:00 2001 From: Unlambder <31901933+Unlambder@users.noreply.github.com> Date: Fri, 29 Jun 2018 12:23:28 +0200 Subject: [PATCH 2/7] Add files via upload --- .../bubble/code/racket/bubbleSort.rkt | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 chapters/sorting_searching/bubble/code/racket/bubbleSort.rkt diff --git a/chapters/sorting_searching/bubble/code/racket/bubbleSort.rkt b/chapters/sorting_searching/bubble/code/racket/bubbleSort.rkt new file mode 100644 index 000000000..733a76af7 --- /dev/null +++ b/chapters/sorting_searching/bubble/code/racket/bubbleSort.rkt @@ -0,0 +1,19 @@ +#lang racket + + +(provide bubbleSort) + + +(define bubbleSort + (case-lambda [(l) (bubbleSort l (length l))] + [(l n) (if (= n 1) + l + (bubbleSort (pass l 0 n) (- n 1)))])) + +; a single pass, if this is the nth pass, then we know that the (n - 1) last elements are already sorted +(define (pass l counter n) + (let ([x (first l)] + [y (second l)] + [r (drop l 2)]) + (cond [(= (- n counter) 2) (cons (min x y) (cons (max x y) r))] + [(cons (min x y) (pass (cons (max x y) r) (+ counter 1) n))]))) \ No newline at end of file From 4d59c191ce91f8b8650104d8da68c6b79a4f7efa Mon Sep 17 00:00:00 2001 From: Unlambder <31901933+Unlambder@users.noreply.github.com> Date: Fri, 29 Jun 2018 12:24:12 +0200 Subject: [PATCH 3/7] Update bubbleSort.rkt --- chapters/sorting_searching/bubble/code/racket/bubbleSort.rkt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/chapters/sorting_searching/bubble/code/racket/bubbleSort.rkt b/chapters/sorting_searching/bubble/code/racket/bubbleSort.rkt index 733a76af7..dc7db938a 100644 --- a/chapters/sorting_searching/bubble/code/racket/bubbleSort.rkt +++ b/chapters/sorting_searching/bubble/code/racket/bubbleSort.rkt @@ -1,6 +1,5 @@ #lang racket - (provide bubbleSort) @@ -16,4 +15,4 @@ [y (second l)] [r (drop l 2)]) (cond [(= (- n counter) 2) (cons (min x y) (cons (max x y) r))] - [(cons (min x y) (pass (cons (max x y) r) (+ counter 1) n))]))) \ No newline at end of file + [(cons (min x y) (pass (cons (max x y) r) (+ counter 1) n))]))) From 7b7e18eec0fff3eb2878c4d960f3e1374ad98fba Mon Sep 17 00:00:00 2001 From: Unlambder <31901933+Unlambder@users.noreply.github.com> Date: Fri, 29 Jun 2018 12:24:28 +0200 Subject: [PATCH 4/7] Update bubbleSort.rkt --- chapters/sorting_searching/bubble/code/racket/bubbleSort.rkt | 1 + 1 file changed, 1 insertion(+) diff --git a/chapters/sorting_searching/bubble/code/racket/bubbleSort.rkt b/chapters/sorting_searching/bubble/code/racket/bubbleSort.rkt index dc7db938a..c1a59ceeb 100644 --- a/chapters/sorting_searching/bubble/code/racket/bubbleSort.rkt +++ b/chapters/sorting_searching/bubble/code/racket/bubbleSort.rkt @@ -16,3 +16,4 @@ [r (drop l 2)]) (cond [(= (- n counter) 2) (cons (min x y) (cons (max x y) r))] [(cons (min x y) (pass (cons (max x y) r) (+ counter 1) n))]))) + From 1616c1659d520c280ac0febe58f8a88b54391b19 Mon Sep 17 00:00:00 2001 From: Unlambder <31901933+Unlambder@users.noreply.github.com> Date: Fri, 29 Jun 2018 12:25:34 +0200 Subject: [PATCH 5/7] Update bubble_sort.md --- chapters/sorting_searching/bubble/bubble_sort.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/chapters/sorting_searching/bubble/bubble_sort.md b/chapters/sorting_searching/bubble/bubble_sort.md index 4e9220b6f..30f865aad 100644 --- a/chapters/sorting_searching/bubble/bubble_sort.md +++ b/chapters/sorting_searching/bubble/bubble_sort.md @@ -28,6 +28,8 @@ This means that we need to go through the vector $$\mathcal{O}(n^2)$$ times with [import:3-18, lang:"d"](code/d/bubble_sort.d) {% sample lang="go" %} [import:7-21, lang:"go"](code/go/bubbleSort.go) +{% sample lang="racket" %} +[import:5-19, lang:"racket"](code/racket/bubbleSort.rkt) {% endmethod %} ... And that's it for the simplest bubble sort method. From a1b293f8d2bc9d08a9295f43f3f5a22f4cd2ca22 Mon Sep 17 00:00:00 2001 From: Unlambder <31901933+Unlambder@users.noreply.github.com> Date: Fri, 29 Jun 2018 12:26:08 +0200 Subject: [PATCH 6/7] Update CONTRIBUTORS.md --- CONTRIBUTORS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 57640d2d6..08cf7c54f 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -8,3 +8,4 @@ Hitesh C Maxime Dherbécourt Jess 3Jane Pen Pal +Unlambder From 002393aa82b06d17a7dcb6d28e917d404c37859e Mon Sep 17 00:00:00 2001 From: Unlambder <31901933+Unlambder@users.noreply.github.com> Date: Fri, 29 Jun 2018 16:25:01 +0200 Subject: [PATCH 7/7] Added executable part to the file. --- chapters/sorting_searching/bubble/code/racket/bubbleSort.rkt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/chapters/sorting_searching/bubble/code/racket/bubbleSort.rkt b/chapters/sorting_searching/bubble/code/racket/bubbleSort.rkt index c1a59ceeb..458fdf931 100644 --- a/chapters/sorting_searching/bubble/code/racket/bubbleSort.rkt +++ b/chapters/sorting_searching/bubble/code/racket/bubbleSort.rkt @@ -17,3 +17,5 @@ (cond [(= (- n counter) 2) (cons (min x y) (cons (max x y) r))] [(cons (min x y) (pass (cons (max x y) r) (+ counter 1) n))]))) + +((lambda (x) (display (bubbleSort x))) (read))