2014年考研数据结构辅导(23)
专业课
时间: 2019-03-09 12:17:11
作者: 匿名
关于广义表的一些递归算法
1) 求广义表的深度(最大的嵌套的括号数)
空表的深度是1,原子的深度为0,用头尾链作为存储结构
int GlistDepth(Glist L)
{
if(!L) return 1;
else if(L->tag=ATOM) return 0;
else
max=0;
for(pp=L;PP!=null;pp=pp->ptr.tp)
{
dep=GlistDepth(pp->ptr.hp);
if(max } } 2)复制广义表 status copyGlist(Glist &T,Glist L)//把L复制到T { if(!L) T=null; else { if(!(T=malloc(sizeofGnode))) exit(OVERFLOW); T->tag=L->Tag; if(L->Tag=ATOM) T->atom=L->atom; else { copyGlist(T->ptr.hp,L->ptr.hp); copyGlist(T->ptr.tp,L->ptr.tp); } } return OK; }