All pastes #231332 Raw Edit

Anonymous

public text v1 · immutable
#231332 ·published 2006-10-31 19:35 UTC
rendered paste body
;;   Question 6

(define (in? n lon)
  (cond [(empty? lon) false]
        [(= n (first lon)) true]
        [else (in? n (rest lon))]))

(define (insert n alon)
  (cond [(empty? alon) (cons n empty)]
        [else (cond [(<= n (first alon)) (cons n alon)]
                    [else (cons (first alon) (insert n (rest alon)))])]))

(define (sort alon)
  (cond [(empty? alon) empty]
        [else (insert (first alon) (sort (rest alon)))]))

(define (loop lon remlst)
  (cond [(empty? lon) empty]
        [(in? (first lon) remlst) (loop (rest lon) remlst)]
        [else (cons (first lon) (loop (rest lon) remlst))]))

(define (unmerge lon remlst)
  (sort (loop lon remlst)))

(define (unmerge-sorted lon remlst)
  (cond [(empty? lon) empty]
        [(in? (first lon) remlst) (unmerge-sorted (rest lon) remlst)]
        [else (cons (first lon) (unmerge-sorted (rest lon) remlst))]))