Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (define (smallest list1)
- (cond ((null? list1) '())
- ((null? (cdr list1)) (car list1))
- ((< (car list1) (cadr list1)) (smallest (rmv (cadr list1) list1)))
- (else (smallest (cdr list1)))))
- (define (sort list1 list2)
- (cond ((null? list1) '())
- ((null? (cdr list1)) (append list2 (list (car list1))))
- (else (sort (rmv (smallest list1) list1) (append list2 (list (smallest list1)))))))
- (define (getsorted list1)
- (sort list1 '())
- (define (rem a list1 list2)
- (cond ((null? list1) list2)
- ((= a (car list1)) (rem a (cdr list1) list2))
- (else (rem a (cdr list1) (append list2 (list (car list1)))))))
- (define (rmv a list1)
- (rem a list1 '()))
- (define (merge list1 list2 list3)
- (cond ((and (null? list1) (null? list2)) list3)
- ((null? list1) (append list3 list2))
- ((null? list2) (append list3 list1))
- ((< (car list1) (car list2)) (merge (cdr list1) list2 (append list3 (list (car list1)))))
- ((= (car list1) (car list2)) (merge (cdr list1) (cdr list2) (append list3 (list (car list1)) (list (car list2)))))
- (else (merge list1 (cdr list2) (append list3 (list (car list2)))))))
- (define (getmerged list1 list2)
- (merge (getsorted list1) (getsorted list2) '()))
Add Comment
Please, Sign In to add comment