为了账号安全,请及时绑定邮箱和手机立即绑定

递归 小记(当时是为了按树结构排序,让子节点在其父节点下排下来)

标签:
C#
 List<table> ListInfo =getOrderList( data.ToList());//

 public List<table> getOrderList(List<table> data)
        {
           table temp = new table();
           List<table> tempLeafList = new List<table>();
           List<table> tempList = new List<table>();
           List<table> resultList = new List<table>();//接收有序结果的List
           temp = data.SingleOrDefault(a => a.parentId == 0);//找到根节点
           resultList.Add(temp);根节点为第一条数据
           tempLeafList = data.Where(表达式).ToList();//找到所有的叶子节点
           resultList.AddRange(tempLeafList);
           tempList = data.Where(表达式).ToList();//找到分支节点(分支节点就需要继续往下找了)
          resultList = getLeafList(tempList, data, resultList);//去找分支节点下的数据
           return resultList;
        }
        public List<table > getLeafList(List<table > tempList, List<table > data, List<table > resultList)
        {
            table temp = new table ();
            List<table > tempLeafList = new List<table >();
            List<table > temp2List = new List<table >();
            for (int i = 0; i < tempList.Count; i++)
            {
temp = tempList[i];
 resultList.Add(temp);
tempLeafList = data.Where(a => a.parentId == temp.ID&&).ToList();//叶子节点
resultList.AddRange(tempLeafList);
 temp2List = data.Where(a => a.parentId == temp.ID&&).ToList();//分支节点
 getLeafList(temp2List, data, resultList);
            }
            return resultList;
        }

宝宝第一次用递归T-T 记下来给自己呀^_^

点击查看更多内容
2人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消