.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);
            }
        }

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

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

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