def intersection (a, b): ta = avl.newavl(a) result = avl.newavl() for x in b: if ta.has_key (x): result.insert (x) ta.remove (x) return result
def __init__ (self, set=None): if set == None: self.items = avl.newavl() elif type(set) == type([]): self.items = avl.newavl(set[:]) elif type(set) == type(self): self.items = avl.newavl(set.items) else: self.items = avl.newavl(set)
def difference (a, b): result = avl.newavl(a) for key in b: if a.has_key (key): result.remove (key) return result
def union (a, b): result = avl.newavl(a) for key in b: if not a.has_key(key): result.insert(key) return result