public void RemoveAll() { var list2 = new HashBag <int>(); hashbag.Add(4); hashbag.Add(5); hashbag.Add(6); hashbag.Add(4); hashbag.Add(5); list2.Add(5); list2.Add(4); list2.Add(7); list2.Add(4); hashbag.RemoveAll(list2); Assert.IsTrue(IC.seteq(hashbag, 5, 6)); hashbag.Add(5); hashbag.Add(4); list2.Clear(); list2.Add(6); list2.Add(5); hashbag.RemoveAll(list2); Assert.IsTrue(IC.seteq(hashbag, 4, 5)); list2.Clear(); list2.Add(7); list2.Add(8); list2.Add(9); hashbag.RemoveAll(list2); Assert.IsTrue(IC.seteq(hashbag, 4, 5)); }
// From an anagram point of view, a word is just a bag of // characters. So an anagram class is represented as HashBag<char> // which permits fast equality comparison -- we shall use them as // elements of hash sets or keys in hash maps. public static HashBag<char> AnagramClass(String s) { HashBag<char> anagram = new HashBag<char>(); foreach (char c in s) anagram.Add(c); return anagram; }
static void PrintMostCommon(int maxWords, String filename) { ICollection <String> wordbag = new HashBag <String>(); Regex delim = new Regex("[^a-zA-Z0-9]+"); using (TextReader rd = new StreamReader(filename)) { for (String line = rd.ReadLine(); line != null; line = rd.ReadLine()) { foreach (String s in delim.Split(line)) { if (s != "") { wordbag.Add(s); } } } } KeyValuePair <String, int>[] frequency = wordbag.ItemMultiplicities().ToArray(); // Sorting.IntroSort(frequency, 0, frequency.Length, new FreqOrder()); Sorting.IntroSort(frequency, 0, frequency.Length, new DelegateComparer <KeyValuePair <String, int> > ((p1, p2) => { int major = p2.Value.CompareTo(p1.Value); return(major != 0 ? major : p1.Key.CompareTo(p2.Key)); })); int stop = Math.Min(frequency.Length, maxWords); for (int i = 0; i < stop; i++) { KeyValuePair <String, int> p = frequency[i]; Console.WriteLine("{0,4} occurrences of {1}", p.Value, p.Key); } }
public override void CountUses(Typ typ, HashBag <FullCellAddr> numberUses) { if (typ == Typ.Number) { numberUses.Add(this.cellAddr); } }
public HashBag <T> CopyToHashBag <T>(ICollection <T> lst) { HashBag <T> lstCopy = new HashBag <T>(); foreach (var item in lst) { lstCopy.Add((T)item); } return(lstCopy); }
public static HashBag <char> HashBag(string s) { var anagram = new HashBag <char>(); foreach (char c in s) { anagram.Add(c); } return(anagram); }
// From an anagram point of view, a word is just a bag of // characters. So an anagram class is represented as HashBag<char> // which permits fast equality comparison -- we shall use them as // elements of hash sets or keys in hash maps. public static HashBag <char> AnagramClass(String s) { HashBag <char> anagram = new HashBag <char>(); foreach (char c in s) { anagram.Add(c); } return(anagram); }
public void ContainsAll() { HashBag <int> list2 = new HashBag <int>(); Assert.IsTrue(hashbag.ContainsAll(list2)); list2.Add(4); Assert.IsFalse(hashbag.ContainsAll(list2)); hashbag.Add(4); Assert.IsTrue(hashbag.ContainsAll(list2)); hashbag.Add(5); Assert.IsTrue(hashbag.ContainsAll(list2)); list2.Add(20); Assert.IsFalse(hashbag.ContainsAll(list2)); hashbag.Add(20); Assert.IsTrue(hashbag.ContainsAll(list2)); list2.Add(4); Assert.IsFalse(hashbag.ContainsAll(list2)); hashbag.Add(4); Assert.IsTrue(hashbag.ContainsAll(list2)); }
// From an anagram point of view, a word is just a bag of // characters. So an anagram class is represented as HashBag<char> // which permits fast equality comparison -- we shall use them as // elements of hash sets or keys in hash maps. private static HashBag <char> AnagramClass(string s) { var anagram = new HashBag <char>(); foreach (char c in s) { anagram.Add(c); } return(anagram); }
public static void FindCollisions(SCG.IEnumerable<String> ss) { HashBag<int> occurrences = new HashBag<int>(); foreach (String s in ss) { TreeBag<char> tb = TreeBag(s); // HashBag<char> hb = HashBag(s); occurrences.Add(sequencedTreeBagHasher.GetHashCode(tb)); // unsequencedTreeBagHasher.GetHashCode(tb); // unsequencedHashBagHasher.GetHashCode(hb); } }
public static void FindCollisions(SCG.IEnumerable <String> ss) { HashBag <int> occurrences = new HashBag <int>(); foreach (String s in ss) { TreeBag <char> tb = TreeBag(s); // HashBag<char> hb = HashBag(s); occurrences.Add(sequencedTreeBagHasher.GetHashCode(tb)); // unsequencedTreeBagHasher.GetHashCode(tb); // unsequencedHashBagHasher.GetHashCode(hb); } }
public Rid Submit(Ip ip, int time) { int jobCount = userJobs.ContainsCount(ip); Rid rid = new Rid(); Job job = new Job(rid, ip, time + 60 * jobCount); IPriorityQueueHandle <Job> h = null; jobQueue.Add(ref h, job); userJobs.Add(ip); jobs.Add(rid, h); Console.WriteLine("Submitted {0}", job); return(rid); }
public Rid Submit(Ip ip, int time) { var jobCount = _userJobs.ContainsCount(ip); var rid = new Rid(); var job = new Job(rid, ip, time + 60 * jobCount); IPriorityQueueHandle <Job> h = default; _jobQueue.Add(ref h, job); _userJobs.Add(ip); _jobs.Add(rid, h); Console.WriteLine($"Submitted {job}"); return(rid); }
public void RetainAll() { HashBag <int> list2 = new HashBag <int>(); hashbag.Add(4); hashbag.Add(5); hashbag.Add(4); hashbag.Add(6); hashbag.Add(4); list2.Add(5); list2.Add(4); list2.Add(7); list2.Add(4); hashbag.RetainAll(list2); Assert.IsTrue(IC.seteq(hashbag, 4, 4, 5)); hashbag.Add(6); list2.Clear(); list2.Add(7); list2.Add(8); list2.Add(9); hashbag.RetainAll(list2); Assert.IsTrue(IC.eq(hashbag)); }
static void PrintMostCommon(int maxWords, string filename) { var wordbag = new HashBag <string>(); var delimiter = new Regex("[^a-zA-Z0-9]+"); using (var reader = File.OpenText(filename)) { for (var line = reader.ReadLine(); line != null; line = reader.ReadLine()) { foreach (var s in delimiter.Split(line)) { if (s != "") { wordbag.Add(s); } } } } var frequency = wordbag.ItemMultiplicities().ToArray(); Sorting.IntroSort(frequency, 0, frequency.Length, // Lexicographic ordering: decreasing frequency, then increasing string ComparerFactory <KeyValuePair <string, int> > .CreateComparer( (p1, p2) => { int major = p2.Value.CompareTo(p1.Value); return(major != 0 ? major : p1.Key.CompareTo(p2.Key)); })); var stop = Math.Min(frequency.Length, maxWords); for (var i = 0; i < stop; i++) { var p = frequency[i]; Console.WriteLine("{0,4} occurrences of {1}", p.Value, p.Key); } }
public void ToArray() { Assert.AreEqual("Alles klar", aeq(hashbag.ToArray())); hashbag.Add(7); hashbag.Add(3); hashbag.Add(10); hashbag.Add(3); int[] r = hashbag.ToArray(); Array.Sort(r); Assert.AreEqual("Alles klar", aeq(r, 3, 3, 7, 10)); }
public void Choose() { hashbag.Add(7); Assert.AreEqual(7, hashbag.Choose()); }
public override void CountUses(Typ typ, HashBag<FullCellAddr> numberUses) { if (typ == Typ.Number) { numberUses.Add(this.cellAddr); } }