永发信息网

C#多叉树问题

答案:2  悬赏:20  手机版
解决时间 2021-05-04 12:23

foreach (OF_Area area1 in areaManager.GetAreasByPAreaID(0))
        {
            TreeNode node1 = new TreeNode();
            node1.Text = area1.AreaName;
            node1.Value = area1.AreaID.ToString();
            foreach (OF_Area area2 in areaManager.GetAreasByPAreaID(area1.AreaID))
            {
                TreeNode node2 = new TreeNode();
                node2.Text = area2.AreaName;
                node2.Value = area2.AreaID.ToString();
                foreach (OF_Area area3 in areaManager.GetAreasByPAreaID(area2.AreaID))
                {
                    TreeNode node3 = new TreeNode();
                    node3.Text = area3.AreaName;
                    node3.Value = area3.AreaID.ToString();
                    node2.ChildNodes.Add(node3);
                }
                node1.ChildNodes.Add(node2);
            }
            tvArea.Nodes.Add(node1);
        }

 

将以上代码改成递归

最佳答案

void Fill(TreeNodeCollection nodes,int id)
{
    foreach(OF_Area item in areaManager.GetAreasByPAreaID(id)
    {
    TreeNode node= new TreeNode();    
    node.Text=item.AreaName;
    node.Value=item.AreaID.ToString();
    
    Fill(node.Nodes,item.AreaID);
    nodes.Add(node);//如果运行有错的话,你就得把它与上一行交换一下顺序
    }
}


//调用
Fill(tvArea.Nodes,0);

全部回答

举例给你讲解

二叉树左子树递归便利思路如下:

 public void foreachTree(TreeNode){

   //做节点是否为父节点

    if(left.TreeNode!=null){//是父节点的话,继续到下一层判断

    foreachTree(left.TreeNode);

    }else//非,输出节点

    syso("输出该节点")

}

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
洛阳家教多少钱一小时
大家好,请问哪里保险卡买啊!
白家小山羊清真全羊馆在哪里啊,我有事要去这
急求:父母辛勤劳动,孩子大手大脚花钱的图片
三年级怎样教育孩子,怎样教育一个三年级的小
谁能给我个游戏人生的内侧资格啊???急 100
怎样能让宝宝吃饭更香
有关生物的问题
问问团队基金是什么 怎么分配
QQ帝国OL 寄卖问题
林仕勤医师诊所怎么去啊,有知道地址的么
怎样登QQ开兴农场
分别给5首中英韩好听的歌!要自己听过的!
求几个梦幻名字要家族的。
我老婆怀孕已经四个月了 晚上跟我说肚子疼 怎
推荐资讯
qq游戏人生是什么
冒险岛战神在嘉年华混到几级出来
CS1.6高手请进!
哪个网址可以上交机型
请问各位老师:三角形函数的公式是?x实际长是
武汉哪座大楼高?占地面积广???
我有一株花,叶子像菠菜,花蕾两边有一对像牛
为什么笔记本玩儿CF不是全屏的??如何设置?
怎么样才能不暴躁?
在工作中,假如有领导千方百计整你,一直到最
急!!!关于“袋鼠”的饰品有些什么啊?
我QQ好友列表中点解会自行删除
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?