static void Main() { OurHashedSet <int> set = new OurHashedSet <int>(new int[] { 111, 1, 3, 5, 7, 12 }); Console.WriteLine(set.Count); set.Add(122); Console.WriteLine(set.Find(122)); Console.WriteLine(set.Count); set.Remove(122); Console.WriteLine(set.Count); foreach (var item in set) { Console.WriteLine(item); } OurHashedSet <int> newSet = new OurHashedSet <int>(new int[] { 1, 3, 5, 7, 12, 2222 }); newSet.UnionWhith(set); foreach (var item in newSet) { Console.WriteLine(item); } }
public void UnionWhith(OurHashedSet <T> otherSet) { foreach (var item in otherSet) { if (!this.container.Contains(new KeyValuePair <T, T>(item, item))) { this.container.Add(item, item); } } }
public void IntersectWith(OurHashedSet <T> otherSet) { OurHashTable <T, T> otherTable = new OurHashTable <T, T>(); foreach (var item in otherSet) { if (this.container.Contains(new KeyValuePair <T, T>(item, item))) { otherTable.Add(item, item); } } this.container = otherTable; }