Advertisement
Guest User

Untitled

a guest
Aug 18th, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scheme 0.57 KB | None | 0 0
  1. #lang racket
  2.  
  3. (define (set-equal? a b)
  4.     (cond
  5.         [(and (empty? a) (empty? b)) #t]
  6.         [(or (empty? a) (empty? b)) #f]
  7.         [else (let ([snipped (remove (car a) b)])
  8.                 (and snipped (set-equal? (cdr a) snipped)))]
  9.         )
  10.   )
  11.  
  12. (define (amb-equal? a b)
  13.   (if (and (list? a) (list? b)) (set-equal? a b)
  14.       (equal? a b)
  15.       )
  16.   )
  17.  
  18. (define (remove ele set [acc '()])
  19.   (cond
  20.     [(empty? set) #f]
  21.     [(amb-equal? (car set) ele) (append (reverse acc) (cdr set))]
  22.     [else (remove ele (cdr set) (cons (car set) acc))]
  23.     )
  24.   )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement