大学士考试网

考研分类

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;

  }

猜你喜欢

精选专题