c#定义并初始化一个二叉树

在C#中,定义并初始化一个树结构通常需要定义一个节点类(如 TreeNode),然后通过节点之间的关系构建整棵树。以下是一个简单的示例,展示如何定义一个二叉树,并进行初始化。

1. 定义树节点类

首先,定义一个树节点类,包含节点的值以及指向其子节点的引用。
csharp复制
public class TreeNode
{
    public int Value { get; set; } // 节点的值
    public TreeNode Left { get; set; } // 左子节点
    public TreeNode Right { get; set; } // 右子节点

    // 构造函数
    public TreeNode(int value)
    {
        Value = value;
        Left = null;
        Right = null;
    }
}

2. 初始化树

接下来,通过创建节点对象并手动设置它们之间的关系来初始化树。以下是一个示例,展示如何构建一个简单的二叉树:
csharp复制
class Program
{
    static void Main()
    {
        // 创建根节点
        TreeNode root = new TreeNode(1);

        // 创建左子树
        root.Left = new TreeNode(2);
        root.Left.Left = new TreeNode(4);
        root.Left.Right = new TreeNode(5);

        // 创建右子树
        root.Right = new TreeNode(3);
        root.Right.Left = new TreeNode(6);
        root.Right.Right = new TreeNode(7);

        // 打印树结构(可选)
        PrintTree(root, 0);
    }

    // 辅助方法:打印树结构(按层次打印)
    static void PrintTree(TreeNode node, int level)
    {
        if (node == null) return;

        // 打印当前节点
        Console.WriteLine($"{new string(' ', level * 4)}{node.Value}");

        // 递归打印左子树和右子树
        PrintTree(node.Left, level + 1);
        PrintTree(node.Right, level + 1);
    }
}

3. 输出示例

运行上述代码后,输出的树结构如下:
复制
1
    2
        4
        5
    3
        6
        7
posted @   yinghualeihenmei  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示