91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

在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
嘉定区| 阳江市| 会昌县| 湄潭县| 牙克石市| 壶关县| 定西市| 三亚市| 名山县| 昌乐县| 木兰县| 梁河县| 安远县| 堆龙德庆县| 左权县| 吉安县| 峨眉山市| 体育| 芜湖县| 元阳县| 迭部县| 怀来县| 平定县| 通榆县| 南平市| 梁山县| 林口县| 固安县| 武清区| 崇明县| 昌吉市| 南华县| 遂溪县| 江山市| 徐州市| 定州市| 安西县| 孟津县| 紫阳县| 方山县| 宜都市|