Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

c# tree

作者:冷言寡语   发布日期:2025-09-29   浏览:12

using System;
using System.Collections.Generic;

public class TreeNode
{
    public string Value { get; set; }
    public List<TreeNode> Children { get; set; }

    public TreeNode(string value)
    {
        Value = value;
        Children = new List<TreeNode>();
    }

    public void AddChild(TreeNode child)
    {
        Children.Add(child);
    }
}

public class Tree
{
    public TreeNode Root { get; private set; }

    public Tree(TreeNode root)
    {
        Root = root;
    }

    // Pre-order traversal: Root, Left, Right
    public void PreOrderTraversal(TreeNode node)
    {
        if (node == null) return;

        Console.WriteLine(node.Value); // Visit the root

        foreach (var child in node.Children)
        {
            PreOrderTraversal(child); // Traverse the children
        }
    }
}

class Program
{
    static void Main()
    {
        // Create tree nodes
        TreeNode root = new TreeNode("Root");
        TreeNode child1 = new TreeNode("Child 1");
        TreeNode child2 = new TreeNode("Child 2");
        TreeNode child11 = new TreeNode("Child 1.1");
        TreeNode child12 = new TreeNode("Child 1.2");

        // Build the tree structure
        root.AddChild(child1);
        root.AddChild(child2);
        child1.AddChild(child11);
        child1.AddChild(child12);

        // Create a tree instance and perform pre-order traversal
        Tree tree = new Tree(root);
        tree.PreOrderTraversal(root);
    }
}

解释说明:

  1. TreeNode 类:

    • 表示树的节点,每个节点有一个 Value 和一个 Children 列表。
    • AddChild 方法用于向当前节点添加子节点。
  2. Tree 类:

    • 包含一个根节点 Root
    • PreOrderTraversal 方法实现了先序遍历(根、左、右)。
  3. Program 类:

    • 创建了几个 TreeNode 实例并构建了一个简单的树结构。
    • 使用 Tree 类进行先序遍历并输出节点值。

这个代码示例展示了如何在 C# 中实现一个简单的树结构,并对其进行遍历。

上一篇:c#字符串转日期

下一篇:rabbitmq c#

大家都在看

c# 二进制

c# tcp client

c# type.gettype

c# sqlconnection

c# string.format 小数位数

.net和c#

c#获取系统时间

c#游戏开发

c#网络编程

c# rectangle

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站