C#/자료구조
0401 연결리스트로 구현한 이진트리 Preorder Traversal (Iterative) 복습
피주빈
2021. 4. 1. 11:07
public class BinaryTree
{
public BinaryTreeNode root;
public BinaryTree(string data)
{
this.root = new BinaryTreeNode(data);
}
public void PrintPreorderIterative()
{
var stack = new Stack<BinaryTreeNode>();
stack.Push(this.root);
while (stack.Count > 0)
{
var node = stack.Pop();
Console.WriteLine("{0}", node.data);
if (node.right != null)
{
stack.Push(node.right);
}
if (node.left != null)
{
stack.Push(node.left);
}
}
}
}
public class App
{
public App()
{
BinaryTree tree = new BinaryTree("A");
tree.root.left = new BinaryTreeNode("B");
tree.root.right = new BinaryTreeNode("C");
tree.root.left.left = new BinaryTreeNode("D");
tree.root.left.right = new BinaryTreeNode("E");
tree.root.right.left = new BinaryTreeNode("F");
tree.PrintPreorderIterative();
}
}