all tasks

This commit is contained in:
Ingy döt Net 2013-04-11 01:07:29 -07:00
parent b83f433714
commit 68f8f3e56b
14735 changed files with 178959 additions and 0 deletions

View file

@ -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)))

View file

@ -0,0 +1,2 @@
(bubble-sort (list 1 3 5 9 8 6 4 2) >)
(bubble-sort (string->list "Monkey") char<?)

View file

@ -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?))))

View file

@ -0,0 +1,2 @@
(bsort > '(2 4 6 2))
(1 2 3)