Intersection
The intersection (written ∩) of two sets is the set of elements that are members of both sets.
(intersection '(a b c) '(a c e)) -> (c a)
(defn intersection [x y] (if (empty? x) '() (if (member (first x) y) (cons (first x) (intersection (rest x) y)) (intersection (rest x) y) ) ) )
If the sizes of the input lists are m and n, the time required is O(m · n). That is not very good; this version of intersection will only be acceptable for small lists.