亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

在c#中如何遍歷treenode樹

c#
小樊
87
2024-09-19 21:20:26
欄目: 編程語言

在C#中,遍歷TreeNode樹通常涉及到深度優先搜索(DFS)或廣度優先搜索(BFS)。以下是使用這兩種方法遍歷樹的示例:

深度優先搜索(DFS)

使用遞歸實現DFS:

using System;
using System.Collections.Generic;
using System.Windows.Forms;

public class TreeTraversal
{
    public static void Main()
    {
        // 創建一個示例樹
        TreeNode root = new TreeNode("Root");
        TreeNode child1 = new TreeNode("Child1");
        TreeNode child2 = new TreeNode("Child2");
        TreeNode grandChild = new TreeNode("GrandChild");

        root.Nodes.Add(child1);
        root.Nodes.Add(child2);
        child1.Nodes.Add(grandChild);

        // 使用DFS遍歷樹
        DFS(root);
    }

    public static void DFS(TreeNode node)
    {
        if (node == null) return;

        Console.Write(node.Text + " ");

        foreach (TreeNode child in node.Nodes)
        {
            DFS(child);
        }
    }
}

廣度優先搜索(BFS)

使用隊列實現BFS:

using System;
using System.Collections.Generic;
using System.Windows.Forms;

public class TreeTraversal
{
    public static void Main()
    {
        // 創建一個示例樹
        TreeNode root = new TreeNode("Root");
        TreeNode child1 = new TreeNode("Child1");
        TreeNode child2 = new TreeNode("Child2");
        TreeNode grandChild = new TreeNode("GrandChild");

        root.Nodes.Add(child1);
        root.Nodes.Add(child2);
        child1.Nodes.Add(grandChild);

        // 使用BFS遍歷樹
        BFS(root);
    }

    public static void BFS(TreeNode node)
    {
        if (node == null) return;

        Queue<TreeNode> queue = new Queue<TreeNode>();
        queue.Enqueue(node);

        while (queue.Count > 0)
        {
            TreeNode currentNode = queue.Dequeue();
            Console.Write(currentNode.Text + " ");

            foreach (TreeNode child in currentNode.Nodes)
            {
                queue.Enqueue(child);
            }
        }
    }
}

在這兩個示例中,我們分別創建了一個簡單的樹結構,并使用DFS和BFS方法遍歷了樹的節點。你可以根據需要修改這些示例以適應你的具體需求。

0
镇远县| 南部县| 台州市| 革吉县| 彰化县| 东方市| 边坝县| 原阳县| 商都县| 楚雄市| 额济纳旗| 绿春县| 无极县| 禄劝| 嵊州市| 文山县| 乾安县| 宜都市| 山阳县| 布尔津县| 三门县| 于都县| 兴山县| 黄冈市| 庆元县| 盘锦市| SHOW| 朝阳区| 盐池县| 辰溪县| 梅州市| 白山市| 临潭县| 武城县| 朔州市| 理塘县| 磴口县| 三原县| 武平县| 石嘴山市| 体育|