.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);
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д