.NET 2.x Найти все конечные элементы рекурсивного списка используя Linq - C#

Узнай цену своей работы

Формулировка задачи:

Есть список List<Node>, Node содержит List<Node> Nodes, Нужно найти все Nodes где Count>0 Понятно, что можно функцию рекурсивную написать, может у кого есть идеи как с помощью Linq это сделать?

Решение задачи: «.NET 2.x Найти все конечные элементы рекурсивного списка используя Linq»

textual
Листинг программы
         public IEnumerable<Node> AllNodes(Node start)
        {
            Queue<Node> qe = new Queue<Node>();
            qe.Enqueue(start);
            while (qe.Count > 0)
            {
                var fst = qe.Dequeue();
                yield return fst;
                foreach (Node nd in fst.Children) qe.Enqueue(nd);
            }
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.429 из 5
Похожие ответы