Advertisement

寻找值为x节点其父节点p

阅读量:

假设二叉树b使用二叉链式存储结构,编写一个函数void findparent(BTNode *b,ElemType x,BTNode *&p),用于查找值为x的节点的父节点p。需要注意的是,根节点的父节点应为NULL,若在二叉树b中未找到对应值为x的节点,则p同样设置为NULL。

复制代码
    void findparent(BTNode *b,ElemType x,BTNode *&p)
    {	if (b!=NULL)
    	{	if (b->data==x) p=NULL;
    		else if (b->lchild!=NULL && b->lchild->data==x)
    			p=b;
    		else if (b->rchild!=NULL && b->rchild->data==x)
    			p=b;
    		else
    		{	findparent(b->lchild,x,p);
    			if (p==NULL)
    				findparent(b->rchild,x,p);
    		}
    	}
    	else p=NULL;
    }
    
    
    
    
      
      
      
      
      
      
      
      

全部评论 (0)

还没有任何评论哟~