예제 #1
0
        public void Test_1()
        {
            var iterator = new BstIterator(new TreeNode(1));

            Assert.True(iterator.HasNext());
            Assert.Equal(1, iterator.Next());
            Assert.False(iterator.HasNext());
        }
예제 #2
0
        public void Test_5()
        {
            var node2 = new TreeNode(2);
            var node3 = new TreeNode(3);
            var node1 = new TreeNode(1);

            node3.left  = node1;
            node1.right = node2;

            var iterator = new BstIterator(node3);

            Assert.True(iterator.HasNext());
            Assert.Equal(1, iterator.Next());
            Assert.True(iterator.HasNext());
            Assert.Equal(2, iterator.Next());
            Assert.True(iterator.HasNext());
            Assert.Equal(3, iterator.Next());
            Assert.False(iterator.HasNext());
        }