Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (use srfi-1)
- (define (sort list)
- (cond ((= (length list) 1) list)
- (else (let* ((mid (/ (length list) 2))
- (left (sort (take list mid)))
- (right (sort (drop list mid))))
- (merge left right)))))
- (define (merge left right)
- (cond ((or (null? left) (null? right))
- (append left right))
- ((< (car left) (car right))
- (cons (car left) (merge (cdr left) right)))
- (else
- (cons (car right) (merge left (cdr right))))))
- (sort '(8 4 3 7 6 5 2 1))
Add Comment
Please, Sign In to add comment