コード例 #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 insert(int key, T value)
 {
     if (head == null)
     {
         head     = new TreeNode <T>(key, value);
         iterator = new BstIterator(head);
         size++;
         cnt++;
     }
     else
     {
         insert(head, key, value);
         cnt++;
     }
 }
コード例 #3
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());
        }