Example #1
0
        public void TestGet()
        {
            var node = tree.Get(5);

            Assert.AreEqual(tree.Root, node);
            Assert.AreSame(tree.Root, node);

            node = tree.Get(2);
            Assert.AreEqual(tree.Root.Left.Right, node);
            Assert.AreSame(tree.Root.Left.Right, node);
        }
        static void Test2()
        {
            var tree = new RbTree(null, null);

            var t1 = DateTime.Now;

            for (int i = 0; i < 1000000; i++)
            {
                RbKey key = new IntKey(i);
                tree.Insert(key, 10 + i);
            }

            Console.WriteLine(String.Format("Insert time: {0} sec",
                                            Convert.ToDecimal(DateTime.Now.Subtract(t1).TotalMilliseconds) / 1000));

            t1 = DateTime.Now;

            bool   found;
            object value;

            for (int i = 0; i < 1000000; i++)
            {
                RbKey key = new IntKey(i);
                tree.Get(key, out value, out found);
            }

            Console.WriteLine(String.Format("Search time: {0} sec",
                                            Convert.ToDecimal(DateTime.Now.Subtract(t1).TotalMilliseconds) / 1000));

            for (int i = 0; i < 1000000; i++)
            {
                RbKey key = new IntKey(i);
                tree.Delete(key);
            }

            Console.WriteLine(String.Format("Delete time: {0} sec",
                                            Convert.ToDecimal(DateTime.Now.Subtract(t1).TotalMilliseconds) / 1000));
        }