Guest User

Untitled

a guest
May 25th, 2018
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.53 KB | None | 0 0
  1. (use srfi-1)
  2.  
  3. (define (sort list)
  4. (cond ((= (length list) 1) list)
  5. (else (let* ((mid (/ (length list) 2))
  6. (left (sort (take list mid)))
  7. (right (sort (drop list mid))))
  8. (merge left right)))))
  9.  
  10. (define (merge left right)
  11. (cond ((or (null? left) (null? right))
  12. (append left right))
  13. ((< (car left) (car right))
  14. (cons (car left) (merge (cdr left) right)))
  15. (else
  16. (cons (car right) (merge left (cdr right))))))
  17.  
  18. (sort '(8 4 3 7 6 5 2 1))
Add Comment
Please, Sign In to add comment