Added InOrderTraversal
This commit is contained in:
parent
c942ce57ce
commit
5c2e7110f8
@ -20,8 +20,9 @@ namespace BinaryTree
|
|||||||
Console.Clear();
|
Console.Clear();
|
||||||
tree.Print(tree.Root);
|
tree.Print(tree.Root);
|
||||||
Console.WriteLine("-------------------------------------");
|
Console.WriteLine("-------------------------------------");
|
||||||
|
tree.InOrderTraversal(tree.Root);
|
||||||
Console.WriteLine("Delete node: ");
|
Console.WriteLine("Delete node: ");
|
||||||
|
|
||||||
tree.Delete(Convert.ToInt32(Console.ReadLine()));
|
tree.Delete(Convert.ToInt32(Console.ReadLine()));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -14,38 +14,38 @@ namespace BinaryTree
|
|||||||
public int EndPos { get { return StartPos + Size; } set { StartPos = value - Size; } }
|
public int EndPos { get { return StartPos + Size; } set { StartPos = value - Size; } }
|
||||||
|
|
||||||
|
|
||||||
public node(dynamic _Data = null,
|
public node(dynamic data = null,
|
||||||
node _Parent = null,
|
node parent = null,
|
||||||
node _Left = null,
|
node left = null,
|
||||||
node _Right = null){
|
node right = null){
|
||||||
|
|
||||||
//New node for a Binary Tree. Values can be set to null if they are not present
|
//New node for a Binary Tree. Values can be set to null if they are not present
|
||||||
Data = _Data;
|
Data = data;
|
||||||
Parent = _Parent;
|
Parent = parent;
|
||||||
Left = _Left;
|
Left = left;
|
||||||
Right = _Right;
|
Right = right;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public node GetParent(){
|
public node GetParent(){
|
||||||
return Parent;
|
return Parent;
|
||||||
}
|
}
|
||||||
public void SetParent(node _Parent){
|
public void SetParent(node parent){
|
||||||
Parent = _Parent;
|
Parent = parent;
|
||||||
}
|
}
|
||||||
|
|
||||||
public node GetLeft(){
|
public node GetLeft(){
|
||||||
return Left;
|
return Left;
|
||||||
}
|
}
|
||||||
public void SetLeft(node _Left){
|
public void SetLeft(node left){
|
||||||
Left = _Left;
|
Left = left;
|
||||||
}
|
}
|
||||||
|
|
||||||
public node GetRight(){
|
public node GetRight(){
|
||||||
return Right;
|
return Right;
|
||||||
}
|
}
|
||||||
public void SetRight(node _Right){
|
public void SetRight(node right){
|
||||||
Right = _Right;
|
Right = right;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -183,7 +183,17 @@ namespace BinaryTree
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void InOrderTraversal(node current){
|
||||||
|
|
||||||
|
if (current.GetLeft() != null)
|
||||||
|
InOrderTraversal(current.GetLeft());
|
||||||
|
|
||||||
|
Console.Write($"{current.Data} -> ");
|
||||||
|
|
||||||
|
if (current.GetRight() != null)
|
||||||
|
InOrderTraversal(current.GetRight());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//print Method functions
|
//print Method functions
|
||||||
@ -264,6 +274,7 @@ namespace BinaryTree
|
|||||||
|
|
||||||
private void Print(string s, int top, int left, int right = -1)
|
private void Print(string s, int top, int left, int right = -1)
|
||||||
{
|
{
|
||||||
|
|
||||||
Console.SetCursorPosition(left, top);
|
Console.SetCursorPosition(left, top);
|
||||||
if (right < 0) right = left + s.Length;
|
if (right < 0) right = left + s.Length;
|
||||||
while (Console.CursorLeft < right) Console.Write(s);
|
while (Console.CursorLeft < right) Console.Write(s);
|
||||||
|
Loading…
Reference in New Issue
Block a user