幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2718|回复: 0

[通用编程] 对严蔚敏广义表求深度的疑问

[复制链接]

313

主题

1574

帖子

1万

积分

⑧专业

*永恒国度*

积分
14145
QQ
发表于 2009-9-20 01:32:35 | 显示全部楼层 |阅读模式
她书上的算法是这样的。
int GListDepth(GList L)
{
     //采用头尾链表存储结构,求广义表L的深度
     int max,dep;
     GList pp;

     if(!L) return 1; //空表深度为1
     if(L->tag==ATOM)
         return 0; //原子深度为0
     
     for(max=0,pp=L; pp; pp=pp->a.ptr.tp)
     {
         dep = GListDepth(pp->a.ptr.hp);//求以pp->a.ptr.hp为头指针的子表深度
         if(dep>max) max = dep;
     }
     return max+1;
}

结果我输入这样的广义表  "(a,(b),(c))" 结果深度得出是2, 这样的话深度应该是3吧?是不是算法有问题呢?
[img][/img] http://shop33698673.taobao.com被别人嫉妒,证明你优秀,嫉妒别人说明你无能
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2024-4-18 15:55 , Processed in 0.019732 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表