日期:2014-05-17  浏览次数:20467 次

一个递归 出来结果 不对。。高手来看看
数据库是这个

public static int getParentId(int 13)//递归到顶级父节点,取的它的id。。。
    {
        string sql = "select * from column_list where id=" +13;
        DataTable dt = DBHelp.GetTable(sql);
        int parintid = int.Parse(dt.Rows[0]["cl_parentID"].ToString());
        int lanmu_id = int.Parse(dt.Rows[0]["ID"].ToString());
        if (parintid > 0)
        {
            getParentId(parintid);//努力递归中
        }
        return lanmu_id;
    }


根据表最后的父节点的值应该是 11  。。。。。。输出还是 13.。。。。看看哪里错了。人比较笨。


------解决方案--------------------
你理解了这个,就理解了
int fun(int n)
{
if(n==0
------解决方案--------------------
n==1)
return 1;
else
return n*fun(n-1);
}
------解决方案--------------------

+1

引用:
C# code?12345678910111213public static int getParentId(int parintid)//递归到顶级父节点,取的它的id。。。    {        string sql = "select * from column_list where id=" +parintid ;        DataTable dt = D……