all tasks
This commit is contained in:
parent
b83f433714
commit
68f8f3e56b
14735 changed files with 178959 additions and 0 deletions
|
|
@ -0,0 +1,15 @@
|
|||
(define (bubble-sort x gt?)
|
||||
(letrec
|
||||
((fix (lambda (f i)
|
||||
(if (equal? i (f i))
|
||||
i
|
||||
(fix f (f i)))))
|
||||
|
||||
(sort-step (lambda (l)
|
||||
(if (or (null? l) (null? (cdr l)))
|
||||
l
|
||||
(if (gt? (car l) (cadr l))
|
||||
(cons (cadr l) (sort-step (cons (car l) (cddr l))))
|
||||
(cons (car l) (sort-step (cdr l))))))))
|
||||
|
||||
(fix sort-step x)))
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
(bubble-sort (list 1 3 5 9 8 6 4 2) >)
|
||||
(bubble-sort (string->list "Monkey") char<?)
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
(define (bsort l gt?)
|
||||
(define (dosort l)
|
||||
(cond ((null? (cdr l))
|
||||
l)
|
||||
((gt? (car l) (cadr l))
|
||||
(cons (cadr l) (dosort (cons (car l) (cddr l)))))
|
||||
(else
|
||||
(cons (car l) (dosort (cdr l))))))
|
||||
(let ((try (dosort l)))
|
||||
(if (equal? l try)
|
||||
l
|
||||
(bsort try gt?))))
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
(bsort > '(2 4 6 2))
|
||||
(1 2 3)
|
||||
Loading…
Add table
Add a link
Reference in a new issue