c# treenode节点如何排序

avatar
作者
猴君
阅读量:0

在C#中,对TreeNode节点进行排序可以使用List<TreeNode>来存储树节点,然后使用LINQ(Language Integrated Query)进行排序。以下是一个示例:

using System; using System.Collections.Generic; using System.Linq;  public class TreeNode {     public int Value { get; set; }     public List<TreeNode> Children { get; set; }      public TreeNode(int value)     {         Value = value;         Children = new List<TreeNode>();     } }  public class Program {     public static void Main()     {         // 创建树节点         TreeNode root = new TreeNode(1);         TreeNode child1 = new TreeNode(2);         TreeNode child2 = new TreeNode(3);         TreeNode child3 = new TreeNode(4);         TreeNode child4 = new TreeNode(5);          // 添加子节点         root.Children.Add(child1);         root.Children.Add(child2);         child1.Children.Add(child3);         child1.Children.Add(child4);          // 将树节点添加到列表中         List<TreeNode> treeNodes = new List<TreeNode> { root };          // 使用LINQ按节点值排序         var sortedTreeNodes = treeNodes.OrderBy(node => node.Value).ToList();          // 输出排序后的树节点         foreach (var node in sortedTreeNodes)         {             Console.WriteLine(node.Value);             PrintChildren(node);         }     }      public static void PrintChildren(TreeNode node)     {         foreach (var child in node.Children)         {             Console.WriteLine("  " + child.Value);             PrintChildren(child);         }     } } 

在这个示例中,我们首先创建了一个树节点结构,然后将树节点添加到一个List<TreeNode>中。接下来,我们使用LINQ的OrderBy方法按节点值对树节点进行排序。最后,我们遍历排序后的树节点并输出它们的值。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!