二叉树是学习数据结构与算法的重要内容,现做综合操作二叉树的汇总。由于关于这方面的文章、书籍已是随处可见,故此间的细节不再赘述,附上一段代码,并提供实例,供参考。代码已测试没有问题。
public class Node // 定义二叉树节点类 Node
{
public int Data;
public Node Left;
public Node Right;
public void Display()
{
Console.WriteLine(Data);
}
public Node(int x)
{
Data = x;
}
}
public class BinaryTree // 定义二叉树
{
public Node Current; //
Node Parent; // 定义一个 Parent,用于存储当前节点(Current)的父节点,为添加删除节点方法做准备
public Node Root; // 定义根结点
public BinaryTree() // 构造函数,初始化二叉树
{
Root = null;
}
public void InOrder(Node theRoot) // 通过递归,中序遍历
{
if (theRoot != null)
{
InOrder(theRoot.Left);
Console.Wr