(define bubblesort (lambda (l) (let ((l2 (bubble l))) (if l2 (bubblesort l2) l)))) (define bubble (lambda (l) (cond ((null? l) #f) ((null? (cdr l)) #f) (else (let ((a (car l)) (b (car (cdr l)))) (if (<= a b) ; en ordre? (let ((l2 (bubble (cdr l)))) (if l2 (cons a l2) #f)) (let* ((l2 (cons a (cdr (cdr l)))) (l3 (bubble l2))) (if l3 (cons b l3) (cons b l2)))))))))