using System;
using System.Collections.Generic;
using System.Linq; namespace ConsoleAppTest
{
class Program
{
static void Main(string[] args)
{
var aa = new AA();
var tree = new Tree() { Id = , Name = "" };
aa.CreateTree(ref tree);
Console.WriteLine();
}
} public class Tree
{
public Tree()
{
Childrens = new List<Tree>();
}
public int Id { get; set; }
public string Name { get; set; }
public List<Tree> Childrens { get; set; } } public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public int Fid { get; set; }
} public class AA
{
List<Product> Products = new List<Product>() {
new Product(){Id=,Name="",Fid=},
new Product(){Id=,Name="",Fid=},
new Product(){Id=,Name="",Fid=},
new Product(){Id=,Name="",Fid=},
new Product(){Id=,Name="",Fid=},
new Product(){Id=,Name="",Fid=},
new Product(){Id=,Name="",Fid=},
new Product(){Id=,Name="",Fid=},
}; public void CreateTree(ref Tree tree)
{
var id = tree.Id;
var list = Products.Where(x => x.Fid == id).ToList();
if (list.Any())
{
foreach (var item in Products.Where(x => x.Fid == id).ToList())
{
var treeSon = new Tree
{
Id = item.Id,
Name = item.Name
};
tree.Childrens.Add(treeSon);
Console.WriteLine($"{tree.Id}");
CreateTree(ref treeSon);
}
}
else
{
Console.WriteLine($"{tree.Id}");
}
}
}
}

运行结果

.

树递归写法ref实现的更多相关文章

  1. 递归与树的写法-多种支付的设计-支付的接通-celery订单的回退实现

    递归与树的写法 data: data=[ {"cat_id":1,"name":"北京","parent_id":0}, ...

  2. sql 树 递归

    sql 树 递归 with SubQuery(No,Name,ParentNo) as ( ' union all select A.No,A.Name,A.ParentNo from [Port_D ...

  3. 快速排序基本思想,递归写法,python和java编写快速排序

    1.基本思想 快速排序有很多种编写方法,递归和分递归,分而治之法属于非递归,比递归简单多了.在这不使用代码演示.下面我们来探讨一下快速排序的递归写法思想吧. 设要排序的数组是A[0]……A[N-1], ...

  4. 关于java的递归写法,经典的Fibonacci数的问题

    经典的Fibonacci数的问题 主要想展示一下迭代与递归,以及尾递归的三种写法,以及他们各自的时间性能. public class Fibonacci { /*迭代*/ public static ...

  5. 【ACdream 1187】Rational Number Tree(树,递归)

    有理数的树,根节点是1/1,左儿子是1/2,右儿子是2/1....求给定的分数是第几个,或者给定n求第n个分数.递归.给定的分数,每次递归,如果分子比较小,就用分母减去分子,并且这是左儿子.反之是右儿 ...

  6. UVa 297 (四分树 递归) Quadtrees

    题意: 有一个32×32像素的黑白图片,用四分树来表示.树的四个节点从左到右分别对应右上.左上.左下.右下的四个小正方区域.然后用递归的形式给出一个字符串代表一个图像,f(full)代表该节点是黑色的 ...

  7. Composite 组合模式 树 递归 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  8. json树递归js查询json父子节点

    上代码,直接另存为html打开,看console控制台就可以看到效果了 <!DOCTYPE html> <html lang="en"> <head& ...

  9. [BZOJ2957] 楼房重建 (线段树,递归)

    题目链接 Solution 经典的一道线段树题,难点在于如何合并节点. 由于题目要求直线要求不相交,则斜率均大于前面的点即为答案. 所以以斜率为权值. 考虑线段树每一个节点维护两个值: \(Max\) ...

随机推荐

  1. requests库入门01-环境安装

    最近在项目中写了一个接口自动化测试的脚本,想要写一些文章来一下,方便自己回头来温习,感兴趣的可以跟着看,先写关于requests库的一些基本操作,然后再写整个框架的搭建.使用的是Python3+req ...

  2. 题解-AtCoder-agc003F Fraction of Fractal(非矩阵快速幂解法)

    Problem AtCoder-agc003F 题意:给出\(n\)行\(m\)列的01矩阵,一开始所有 \(1\) 连通,称此为\(1\)级分形,定义\(i\)级分形为\(i-1\)级分形中每个标示 ...

  3. 题解-hdu2866 Special Prime

    Problem hdu-2866 题意:求区间\([2,L]\)有多少素数\(p\)满足\(n^3+pn^2=m^3\),其中\(n,m\)属于任意整数 Solution 原式等价于\(n^2(p+n ...

  4. <图文教程>VMware 14上Ubuntu 16.04 desktop版的安装

    VMware14安装Ubuntu16.04教程 久闻Linux(这单词念做 林尼克斯??)大名,闲来无事就试着给自己笔记本装一个玩玩,从朋友口中得知可以在Vmware上装虚拟机,就自己试着尝试一下,顺 ...

  5. 漏洞扫描工具Nessu的安装和简单使用

    一.软件介绍Nessus号称是世界上最流行的漏洞扫描程序,全世界有超过75000个组织在使用它.该工具提供完整的电脑漏洞扫描服务,并随时更新其漏洞数据库.Nessus不同于传统的漏洞扫描软件,Ness ...

  6. MySQL索引操作

    创建普通索引 CREATE INDEX index_name ON table_name(column1,column2); 另一种建立方式: ALTER TABLE table_name ADD I ...

  7. apache配置文件语法错误命令:httpd -t

    cmd命令行切换到C:\wamp\bin\apache\apache2.4.9\bin目录 输入httpd -t命令 错误如下: 1.Syntax error on line 92 of C:/Apa ...

  8. ASP.NET MVC5高级编程 之 Ajax

    jQuery不仅支持所有现代浏览器,包括IE.Firefox.Safari.Opera和Chrome等,还可以在编写代码和浏览器API冲突时隐藏不一致性(和错误). 1. jQuery jQuery擅 ...

  9. 【原创】大叔经验分享(40)hdfs关闭kerberos

    hadoop.security.authentication: Kerberos -> Simple hadoop.security.authorization: true -> fals ...

  10. Confluence 6 XML 备份恢复失败的问题解决

    XML 站点备份仅仅针对新数据库恢复的时候是必要的. Upgrading Confluence,Setting up a test server 或者 Production Backup Strate ...