数据结构模型如下:

public Class A
{public string Name{get;set;}public list<A> children{get;set;}
}

现要寻找一个子节点,目前代码如下:

        public A FindByName(string _name){if (this.Name == _name)return this;else{for (int i = 0; i < this.children.Count; i++)                return this.children[i].FindByName(_name);}return null;}

但是,VS编译器一直提示 i++是 "Unreachable code detected".

其运行结果也相差很多,这个循环只遍历了第0个孩子,孙子。。。

现正确的做法如下:

        public A FindByName(string _name){if (this.Name == _name)return this;else{A p = null;for (int i = 0; i < this.children.Count; i++){p = this.children[i].FindByName(_name);if (p != null)break;}return p;}}

转载于:https://www.cnblogs.com/crazyghostvon/p/3568659.html

一个循环递归遍历问题相关推荐

  1. vba 跳到下一个循环_遍历工作薄和工作表(For Each循环的利用)

    今日的内容是"VBA之EXCEL应用"的第三章"工作簿(Workbook)和工作表(Worksheet)对象(Object)"中第三节"遍历工作薄和工 ...

  2. 只用一个循环实现层序遍历

    107. 二叉树的层序遍历 II 给你二叉树的根节点 root ,返回其节点值 自底向上的层序遍历 . (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) 只用一个循环while遍历栈s的长度 ...

  3. 随笔1:shell递归遍历文件夹

    最近工作需要,写了一些shell脚本用来做服务器一键打包更新, 通过for递归遍历文件夹时文件名中含有空格,它会当成两个文件 解决方式:修改分隔IFS #! /bin/bashfunction dfs ...

  4. 【数据结构笔记10】二叉树的先序、中序、后序遍历,中序遍历的堆栈/非递归遍历算法,层序遍历,确定一个二叉树,树的同构

    本次笔记内容: 3.3.1 先序中序后序遍历 3.3.2 中序非递归遍历 3.3.3 层序遍历 3.3.4 遍历应用例子 小白专场:题意理解及二叉树表示 小白专场:程序框架.建树及同构判别 文章目录 ...

  5. 递归遍历与for循环遍历:递归遍历实现、理解简单

    1.想法来源:力扣题14- I. 剪绳子 给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m.n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]...k[m ...

  6. sas 检测到开型代码语句的递归_对于标准答案的递归很多人都看不懂,其实就是一个深度优先的遍历。我写了段伪代码,将递归步骤还原并注释了一下,供大家参考,希望大家有所收获。...

    源自:7-5 Python之递归函数 对于标准答案的递归很多人都看不懂,其实就是一个深度优先的遍历.我写了段伪代码,将递归步骤还原并注释了一下,供大家参考,希望大家有所收获. #if条件不成立的省略 ...

  7. 实现一个二叉树层级遍历_算法总结:左神class5—二叉树递归和非递归实现遍历(后序用一个栈彩蛋)...

    二叉树类型的题目为常考题型 1.能够结合队列.栈.链表.字符串等很多数据结构. 2.需要掌握图的基本遍历方式,比如BFS和DFS. 3.需要掌握递归函数的使用,并自己设计出递归过程. 4.与实际工作结 ...

  8. html递归遍历,图的深度遍历是一个递归过程

    数据结构问题:图的深度优先遍历中有递归的应用,数据结构问题:图的深度优先遍历中有递归的应用,要用到栈,图中顶点是首先你得明白函数调用本身就是通过栈来实现的. 调用函数是入栈,而函数返回是出栈. 为什么 ...

  9. js 递归遍历查找对象数组的某一个属性

    方法一: /*** @description: 递归遍历查找数组对象的某个值* @param {string} code* @param {array} arr* @returns {object}* ...

  10. 二叉树 2.0 -- 非递归遍历

    二叉树递归遍历存在的问题 如果我们的二叉树只有左子树,而且树的高度还很深的时候,这个时候递归调用遍历的时候,栈帧空间开辟的较大,很可能造成栈溢出.但是我们一个程序中,为堆分配的空间要比栈大的多,这个时 ...

最新文章

  1. leetcode算法题--两数相加 II
  2. java缩放浏览器_javascript检测浏览器的缩放状态实现代码
  3. 《系统集成项目管理工程师》必背100个知识点-61识别干系人分析的步骤
  4. 噪声与振动控制工程手册_声学分享客噪声与振动控制篇大型隔振工程案例介绍...
  5. WindowsAPI中W和A的区别
  6. 计算机图形学中的边标志算法c++程序实现2
  7. M语言简单示例--网页数据抓取
  8. win7无法搜索到网络计算机,笔记本win7系统搜索不到无线网络信号怎么解决
  9. 计算机学院的迎新晚会,计算机学院举办“互联青春,拾梦翱翔”迎新晚会
  10. web 服务器安全维护,Web服务器安全攻击及防护机制详解
  11. FaceX-Zoo | 使用PyTorch Toolbox进行人脸识别(附源代码)
  12. 软件企业认定及软件产品登记申报表填报说明
  13. 产业分析:股权激励市场实践
  14. 关于 Android okhttp 使用 HTTPS 的学习记录
  15. hdu 3003-Pupu-快速幂取模
  16. Python是什么?Python基础教程400集大型视频,全套完整视频赠送给大家
  17. JZOJ 5445 失格
  18. SQL Server连接其他服务器
  19. 架构师之路046 服务端开发的总结
  20. 美国排名前10芯片公司的特点!

热门文章

  1. python实现阿拉伯数字和罗马数字的互相转换
  2. python、java、C三种方法打印乘法表
  3. 机器学习(二)——贝叶斯算法
  4. sklearn gridsearchcv_sklearn调包侠之PCA降维
  5. micropython常用模块-Python时间模块之datetime
  6. Superset集成到iframe 跨域 无需账号登录
  7. Java String replace replaceAll replaceFirst 执行效果笔记
  8. 陕西一本大学计算机专业排名2015,陕西计算机专业大学排名
  9. c# 标准正太分布函数_数据处理中0-1规范化和标准化
  10. 【cookie,session】cookie和session基础知识入门