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));
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

posted @ 2015-04-25 16:09  Thereisnospon  阅读(123)  评论(0编辑  收藏  举报