コード例 #1
0
ファイル: Test.cs プロジェクト: sethmoore/BinarySearchTree
        public void TestConcurrencyRead()
        {
            BinaryTree tree = new BinaryTree ();
            for (int i = 0; i < 20; i++) {
                tree.Insert (i);
            }

            List<Thread> threads = new List<Thread> ();
            for (int j = 0; j < 30; j++) {
                threads.Add (
                    new Thread (() => {
                        for (int i = 0; i < 20; i++) {
                            Assert.True (tree.Contains (i));
                        }

                        for (int i = 20; i < 25; i++) {
                            Assert.False (tree.Contains (i));
                        }
                    }));
            }

            Parallel.ForEach (threads, (thread) => {
                thread.Start ();
                thread.Join ();
            });
        }
コード例 #2
0
ファイル: Test.cs プロジェクト: sethmoore/BinarySearchTree
        public void BasicTreeTest()
        {
            BinaryTree tree = new BinaryTree ();
            for (int i = 0; i < 20; i++) {
                tree.Insert (i);
            }

            for (int i = 0; i < 20; i++) {
                Assert.True (tree.Contains (i));
            }

            for (int i = 20; i < 25; i++) {
                Assert.False (tree.Contains (i));
            }
        }
コード例 #3
0
ファイル: Test.cs プロジェクト: sethmoore/BinarySearchTree
        public void TestConcurrencyWrite()
        {
            BinaryTree tree = new BinaryTree ();
            int multiplier = 1;

            List<Thread> threads = new List<Thread> ();
            for (int j = 0; j < 30; j++) {
                threads.Add (
                    new Thread (() => {
                        for (int i = 0; i < 20; i++) {
                            tree.Insert(i+(10^multiplier));
                        }

                        for (int i = 0; i < 20; i++) {
                            Assert.True (tree.Contains (i+(10^multiplier)));
                        }
                    }));
                multiplier++;
            }

            Parallel.ForEach (threads, (thread) => {
                thread.Start ();
                thread.Join ();
            });
        }
コード例 #4
0
ファイル: Form1.cs プロジェクト: PacoDw/BinarySearchTree
        //---------------------------------------------------------------------------------------------------------------------------------------------------------
        //BUTTON CONTAINS CLICK
        private void bttonContains_Click(object sender, EventArgs e)
        {
            Nodo nodo = new Nodo(Convert.ToInt32(txtBuscar.Text));

            if (arbol.Contains(nodo))
            {
                txtResultado.Text = "Ha sido encontrado";
            }
            else
            {
                txtResultado.Text = "No se encontro";
            }
        }
コード例 #5
0
ファイル: Program.cs プロジェクト: ykuzbyt/BinaryTree
        public static void Main(string[] args)
        {
            var tree = new BinaryTree();
            tree.Insert(10);
            tree.Insert(9);
            tree.Insert(12);
            tree.Insert(1);
            tree.Insert(4);
            tree.Insert(2);
            Display(tree.Head);
            Console.WriteLine();
            tree.Remove(10);
            Display(tree.Head);
            Console.WriteLine();
            tree.Insert(3);
            tree.Insert(7);
            tree.Insert(11);
            tree.Insert(6);
            tree.Insert(15);
            Display(tree.Head);
            Console.WriteLine();
            tree.Insert(10);
            tree.Remove(15);
            Display(tree.Head);
            Console.WriteLine();
            tree.Remove(1);
            Display(tree.Head);
            Console.WriteLine();
            tree.Remove(4);
            Display(tree.Head);
            Console.WriteLine();
            tree.Insert(18);
            tree.Insert(19);
            tree.Insert(21);
            tree.Insert(20);
            tree.Insert(22);
            tree.Balanse();

            var contains4 = tree.Contains(7);
            Console.WriteLine(tree.Count);
        }
コード例 #6
0
ファイル: Program.cs プロジェクト: ashtonangel7/BinaryTree
        static void Main(string[] args)
        {
            BinaryTree <int> binaryTree = new BinaryTree <int>(7);

            binaryTree.Add(5);
            binaryTree.Add(6);
            binaryTree.Add(3);
            binaryTree.Add(4);
            binaryTree.Add(1);
            binaryTree.Add(2);
            binaryTree.Add(0);
            binaryTree.Add(9);
            binaryTree.Add(8);
            binaryTree.Add(10);

            Console.WriteLine(binaryTree.Contains(10, 5));
            Console.WriteLine(binaryTree.Contains(10, 7));
            Console.WriteLine(binaryTree.Contains(7, 7));
            Console.WriteLine(binaryTree.Contains(0, 7));
            Console.WriteLine(binaryTree.Contains(-5, 7));
            Console.WriteLine(binaryTree.Contains(0, 0));
            Console.ReadLine();
        }