static void Main() { var musicians = new RankedSet <string> (StringComparer.InvariantCultureIgnoreCase); foreach (var m1 in new string[] { "Falco", "k.d. lang", "Madonna", "Tom Petty", "Joni Mitchell", "Grimes", "Warren Zevon" }) { musicians.Add(m1); } Console.WriteLine("Candidates:"); foreach (var item in musicians) { Console.WriteLine($" {item}"); } musicians.Remove("Falco"); musicians.RemoveWhere(IsPolynymous); musicians.RemoveRange(1, musicians.Count - 1); Console.WriteLine("\nFavorite:"); foreach (var item in musicians) { Console.WriteLine($" {item}"); } }
static void Main() { set = new RankedSet <int>() { Capacity = 4 }; Console.WriteLine("Empty tree is a single leaf:"); WriteInfo(true); Console.WriteLine("Create sequentially loaded tree of order 4:"); for (int i = 2; i <= 24; i += 2) { set.Add(i); } WriteInfo(true); Console.WriteLine("Cascade split by adding 17:"); set.Add(17); WriteInfo(); Console.WriteLine("Split a leaf by adding 3:"); set.Add(3); WriteInfo(); Console.WriteLine("Create non-rightmost branch with 2 children by adding 9:"); set.Add(9); WriteInfo(); Console.WriteLine("Cascade coalesce by removing 2:"); set.Remove(2); WriteInfo(); }
static void Main() { set = new RankedSet <int>() { Capacity = 4 }; Console.WriteLine("Create tree of order 4:"); for (int i = 2; i <= 50; i += 2) { set.Add(i); } for (int i = 3; i <= 50; i += 6) { set.Add(i); } WriteInfo(); Console.WriteLine("Add 29,35:"); set.Add(29); set.Add(35); WriteInfo(); Console.WriteLine("Remove 27:"); set.Remove(27); WriteInfo(); Console.WriteLine("Remove 21:"); set.Remove(21); WriteInfo(); Console.WriteLine("Remove 22:"); set.Remove(22); WriteInfo(); Console.WriteLine("Remove 24:"); set.Remove(24); WriteInfo(); }
static void Main() { for (int i = 1; i <= 12; i += 1) { var set = new RankedSet <int>() { Capacity = 4 }; foreach (int kk in new int[] { 3, 5, 6, 7, 9, 10, 11 }) { set.Add(kk); } set.Remove(6); set.Remove(10); WriteInfo(set); set.SymmetricExceptWith(new int[] { i }); Console.WriteLine("SymmetricExceptWith " + i + ":"); WriteInfo(set); Console.WriteLine("----"); } }
static void Main() { set = new RankedSet <int>() { Capacity = 5 }; Console.WriteLine("Create sequentially loaded tree of order 5:"); for (int i = 2; i <= 66; i += 2) { set.Add(i); } WriteInfo(); Console.WriteLine("Thin the tree by removing several keys:"); foreach (int i in new int[] { 4, 6, 14, 16, 18, 20, 22, 24, 26, 30, 36, 38, 46 }) { set.Remove(i); } WriteInfo(); Console.WriteLine("Coalesce leaves, balance branches by removing 12:"); set.Remove(12); WriteInfo(); Console.WriteLine("Change a branch by removing 10:"); set.Remove(10); WriteInfo(); Console.WriteLine("Change the root by removing 50:"); set.Remove(50); WriteInfo(); Console.WriteLine("Coalesce leaves by removing 40:"); set.Remove(40); WriteInfo(); Console.WriteLine("Prune rightmost leaf by removing 66:"); set.Remove(66); WriteInfo(); Console.WriteLine("Coalesce leaves and branches, prune root by removing 8:"); set.Remove(8); WriteInfo(); }
static void Main() { set = new RankedSet <int>() { Capacity = 6 }; Console.WriteLine("Create sequentially loaded tree of order 6:"); for (int i = 2; i <= 60; i += 2) { set.Add(i); } WriteInfo(true); Console.WriteLine("Create rightmost nodes with 1 key by appending 62:"); set.Add(62); WriteInfo(); Console.WriteLine("Split leaf by adding 5:"); set.Add(5); WriteInfo(); Console.WriteLine("Split leaf, cascade split branches by adding 25:"); set.Add(25); WriteInfo(); Console.WriteLine("Balance leaves, replace 2 pivots by removing 6:"); set.Remove(6); WriteInfo(); Console.WriteLine("Prune leaf by removing 62:"); set.Remove(62); WriteInfo(); Console.WriteLine("Remove 54-60:"); set.Remove(54); set.Remove(56); set.Remove(58); set.Remove(60); WriteInfo(); Console.WriteLine("Prune leaf and branch by removing 52:"); set.Remove(52); WriteInfo(); }
static void Main() { set = new RankedSet <int>() { Capacity = 4 }; Console.WriteLine("Create sequentially loaded tree of order 4:"); for (int i = 2; i <= 44; i += 2) { set.Add(i); } WriteInfo(); Console.WriteLine("Add 1,21:"); set.Add(1); set.Add(21); WriteInfo(); Console.WriteLine("Add 9:"); set.Add(9); WriteInfo(); Console.WriteLine("Add 27:"); set.Add(27); WriteInfo(); Console.WriteLine("Remove 44:"); set.Remove(44); WriteInfo(); Console.WriteLine("Remove 40,42:"); set.Remove(40); set.Remove(42); WriteInfo(); Console.WriteLine("Remove 38:"); set.Remove(38); WriteInfo(); Console.WriteLine("Remove 34,36:"); set.Remove(34); set.Remove(36); WriteInfo(); Console.WriteLine("Remove 32:"); set.Remove(32); WriteInfo(); Console.WriteLine("Remove 28:"); set.Remove(28); WriteInfo(); Console.WriteLine("Seek 30:"); var isOk = set.Contains(30); Console.WriteLine(); Console.WriteLine("Result = " + isOk); Console.WriteLine(); Console.WriteLine("Remove 30:"); set.Remove(30); WriteInfo(); }