本文主要是介绍C 二叉树查找值为x的节点,并打印其所有的父节点,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
思路就跟输出二叉树一样的,只不过这次是找节点
文章目录
- 查找节点
- 输出此节点所有的父节点
查找节点
//找一个值为x的节点
BiThrTree findElement(BiThrTree T, ElementType x){if (!T)return NULL;if (T->data == x){return T;}else{BiThrTree temp;//先看下左边找到了没有temp = findElement(T->LeftTreeNode, x);//没有找到那就看看右边if(!temp){return findElement(T->RightTreeNode, x);}//这个跟输出不一样,得有个指针来接收。return temp;}return NULL;
}
输出此节点所有的父节点
递归的魅力,真是巧妙
//打印X节点所有父节点
int putRootofx(BiThrTree T, ElementType x){//没有就返回0if(!T)return 0;//找到了就返回1if(T->data == x){return 1;}//这个节点有值但不是要找到那个,那就往它的子节点下面看看if(T){//只要子节点里面有符合条件的,那就将其输出出来if(putRootofx(T->LeftTreeNode, x) || putRootofx(T->RightTreeNode, x)){printf("%c ",T->data);return 1;}}return 0;
}
这篇关于C 二叉树查找值为x的节点,并打印其所有的父节点的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!