黑马程序员技术交流社区

标题: 递归算法中途无法退出!帮忙看看~~~ [打印本页]

作者: 张向阳    时间: 2012-12-21 22:35
标题: 递归算法中途无法退出!帮忙看看~~~
本帖最后由 张向阳 于 2012-12-22 11:20 编辑

        /// <summary>
        /// 检查指定节点下是否存在被选中的节点
        /// </summary>
        /// <param name="tn"></param>
        /// <returns></returns>
        private bool IsItemHasChecked(TreeNode tn)
        {
            if (tn.Nodes.Count > 0)
            {
                for (int i = 0; i < tn.Nodes.Count; i++)
                {
                    if (tn.Nodes.Checked == true)
                        return true;
                    else
                        IsItemHasChecked(tn.Nodes):
                }
            }
            return false;
        }

作者: 许庭洲    时间: 2012-12-22 07:07
private static Boolean flag=false;//首先定义一个标志位flag
private bool IsItemHasChecked(TreeNode tn)
{
            
       if (tn.Nodes.Count > 0)
       {
             for (int i = 0; i < tn.Nodes.Count; i++)
             {
                  if (tn.Nodes[i].Checked == true)
                  {
                       flag = true;
                  }
                  else
                  {
                      flag = IsItemHasChecked(tn.Nodes[i]);
                  }
                  if(flag)
                       break;
             }
         }
         return flag;
}
作者: 张向阳    时间: 2012-12-22 09:29
许庭洲 发表于 2012-12-22 07:07
private static Boolean flag=false;//首先定义一个标志位flag
private bool IsItemHasChecked(TreeNode tn ...

嗯嗯!明白了!非常感谢




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2