static void TestBinarySearchTree() { BinarySearchTree bs = new BinarySearchTree(); bs.Put(18, "S"); //6 bs.Put(5, "E"); //2 bs.Put(3, "A"); //0 bs.Put(15, "R"); ///5 bs.Put(4, "C"); //1 bs.Put(9, "H"); //3 bs.Put(23, "X"); //7 bs.Put(10, "M"); //4 bs.Put(12, "P"); //5 bs.Put(6, "L"); //Console.WriteLine(bs.Size()); //Console.WriteLine(bs.Rank(5));//2 //Console.WriteLine(bs.Rank(19)); Console.WriteLine(bs.RangeCount(5, 18)); bs.RangeValues(5, 18); Console.WriteLine(bs.RangeCount(5, 19)); bs.RangeValues(5, 19); //Console.WriteLine(bs.RangeCount(6, 18)); //bs.RangeValues(6, 18); //Console.WriteLine(bs.RangeCount(6, 19)); //bs.RangeValues(6, 19); //var a = bs.Iterator(); //foreach (var item in a) //{ // Console.WriteLine(bs.Get(item)); //} //Console.WriteLine(bs.Get(5)); //bs.DeleteMinimum(); //Console.WriteLine((bs.Min()).Value); //bs.DeleteMinimum(); //Console.WriteLine((bs.Min()).Value); //Console.WriteLine(bs.Get(10)); }