示例#1
0
        static void SubtreeCheck()
        {
            var t1 = new RbTree <int>();

            t1.Add(3);
            t1.Add(2);
            t1.Add(4);
            t1.Add(1);
            t1.Add(5);
            t1.Add(0);
            t1.Add(-1);
            t1.Add(-2);
            RbTree <int> .Node subroot = t1.Add(-3);
            t1.Add(-4);
            t1.Add(-5);

            t1.Print();

            WriteLine(Environment.NewLine);

            var t2 = t1.Subtree(subroot);

            t2.Print();

            t1.Remove(-5);

            WriteLine(Environment.NewLine);

            t2.Print();
        }
示例#2
0
        public void Test()
        {
            var t1 = new RbTree <int>();

            t1.Add(3);
            t1.Add(2);
            t1.Add(4);
            t1.Add(1);
            t1.Add(5);
            t1.Add(0);
            t1.Add(-1);
            t1.Add(-2);
            t1.Add(-3);
            t1.Add(-4);
            t1.Add(-5);

            var t2 = t1.Subtree(t1.Root.Left.Left);

            t1.Remove(-5);

            Assert.AreEqual(true, t2.Contains(-5));
            Assert.AreEqual(true, t2.Validate());
        }