forked from knchapagai/ProgrammingHub
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathBinaryTreeInorderReversal.cs
More file actions
91 lines (81 loc) · 1.98 KB
/
BinaryTreeInorderReversal.cs
File metadata and controls
91 lines (81 loc) · 1.98 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
//C# program to implement In-order traversal in Binary Tree
using System;
using System.Collections.Generic;
using System. Text;
class Node
{
public int item ;
public Node left_ptr ;
public Node right_ptr ;
}
class BinaryTree
{
public Node root;
public Node GetRoot()
{
return root;
}
public void Inorder_Traverse(Node rootNode)
{
if (rootNode != null)
{
Inorder_Traverse(rootNode.left_ptr);
Console.Write("{0} ", rootNode.item);
Inorder_Traverse(rootNode.right_ptr);
}
}
public void InsertItem(int item)
{
Node curNode;
Node parentNode;
Node node = new Node();
node.item = item;
if (root != null)
{
curNode = root;
while (true)
{
parentNode = curNode;
if (item < curNode.item)
{
curNode = curNode.left_ptr;
if (curNode == null)
{
parentNode.left_ptr = node;
break;
}
}
else
{
curNode = curNode.right_ptr;
if (curNode == null)
{
parentNode.right_ptr = node;
break;
}
}
}
}
else
{
root = node;
}
}
}
class Demo
{
static void Main(string[] args)
{
BinaryTree tree = new BinaryTree();
tree.InsertItem(10);
tree.InsertItem(15);
tree.InsertItem(35);
tree.InsertItem(26);
tree.InsertItem(47);
tree.InsertItem(34);
tree.InsertItem(90);
Console.WriteLine("Inorder Traversal : ");
tree.Inorder_Traverse(tree.GetRoot());
Console.WriteLine(" ");
}
}