6_34_扩展判断u是否为v的子孙
#include<stdio.h>
int L[6+1]={0,2,4,0,6,0,0};
int R[6+1]={0,3,5,0,0,0,0};
int T[6+1];
int n=6;
void TransTo()
{
int i;
for(i=1;i<=n;i++)
{
T[L[i]]=i;
T[R[i]]=i;
}
T[0]=0;
}
int IfSon(int u,int v)
{
if(!u)return 0;
if(T[u]==v)
return 1;
else return IfSon(T[u],v);
}
int main()
{
TransTo();int i;
printf("%d\n",IfSon(5,3));
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

浙公网安备 33010602011771号