求先序遍历中第k个结点的值

来源:互联网 发布:微软人工智能解决方案 编辑:程序博客网 时间:2024/06/04 17:47

/*
名称:求先序遍历中第k个结点的值
说明:在本程序中,k和val都是以引用的形式传递参数的,为的就是能够在递归函数中传递信息(包括传递给递归子函数,和从递归子函数中带回信息)。关于递归函数之间传递信息,过几天会做一个总结。

*/

//求先序遍历中第k个结点的值(val作为返回值)void FindKth(BiTree T,int &k,int &val){    if(val != 0)    //val作为返回值,同时也作为标志位,即val不为零时,需要继续递归遍历    {        return ;    }    else if(T != NULL)    {        --k;    //k值减1        if(0 == k)        {            val = T->data;        }        FindKth(T->lchild,k,val);   //递归左子树        FindKth(T->rchild,k,val);   //递归右子树    }}
原创粉丝点击