dalao们有一维数组插值函数转二叉树的函数吗

虚心请教各位,我写的这个按值来查找二叉树结点的函数,为什么返回的指针不是指向我要查找的那个结点啊?_百度知道
虚心请教各位,我写的这个按值来查找二叉树结点的函数,为什么返回的指针不是指向我要查找的那个结点啊?
}return NULL;rchild,e);ch==e) {return T; } else
if(T-&if(T-&rchild )
point(T-&lchild,e);lchild)
point(T-&gtBiTree Findpoint(BiTree T,char e){
if(T) { if(T-&gt
我有更好的答案
rchild,e)首先你的返回值是NULL,所以肯定返回的不是你想要的节点;另外你用递归找的话应该写成如下样子;lchild)
return Findpoint(T-& BiTree&Findpoint(BiTree&T,char&e){BiTree* BiTree Findpoint(BiTree T,char e){ if(T&&pElemnet&ch == e)rchild )
return Findpoint(T-& if(T==NULL)
return NULL;T-&gt,e); else if(T-& if(T-&gt:BiTree*&nbsp
采纳率:76%
来自团队:
为您推荐:
其他类似问题
二叉树的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。2被浏览71分享邀请回答0添加评论分享收藏感谢收起写回答求教二叉树的main函数怎么写合适:_百度知道
求教二叉树的main函数怎么写合适:
#include&iostream&
int depth=0;
template&class T&struct BiNode
BiNode&T&*
BiNode&T&*
template &class T& class BiTree
void Create(BiNode&T& * & R,T data[],int i);
scanf(&/PostOrderTraverse//求二叉树的深度int Depth(BinTree T){int DepthLeft,DepthRight,if(!T)return 0;else{DepthLeft=Depth(T-&lchild);DepthRight=Depth(T-&rchild);depthval=1+(DepthLeft&DepthRight?DepthLeft:DepthRight);}//if}//Depthvoid CountLeaf(BinTree T,int &count0,int &count2){//统计二叉树中的叶子节点个数if(T){if((!T-&lchild)&&(!T-&rchild))count0++;CountLeaf(T-&lchild,count0,count2);CountLeaf(T-&rchild,count0,count2);}count2=count0-1;}void Countduone(BinTree T,int &count1){//统计二叉树中度为1的结点个数if(T){if(((!T-&lchild)&&(T-&rchild))||((T-&lchild)&&(!T-&rchild)))count1++;Countduone(T-&lchild,count1);Countduone(T-&rchild,count1);}}int ZongNode(int &a,int &b,int c){return (a+b+c);}void main(){BinTree Tr;int count0,count1,count2;count0=0;count1=0;count2=0;printf(&按前序次序输入,以#表示为空:\n&);CreateBinTree(Tr);printf(&\n前序遍历结果为:\n&);PreOrderTraverse(Tr);printf(&\n中序遍历结果为:\n&);InOrderTraverse(Tr);printf(&\n后序遍历结果为:\n&);PostOrderTraverse(Tr);printf(&\n该二叉树的深度为:\n%d&,Depth(Tr));printf(&\n该二叉树的叶子节点个数为:\n&);CountLeaf(Tr,count0,count2);printf(&%d&,count0);printf(&\n该二叉树的所有结点数为:\n&);//CountLeaf(Tr,count0,count2);Countduone(Tr,count1);jie=ZongNode(count1,count2,count0);printf(&%d&,jie);printf(&\n&);};//malloc.h&//if}/ InOrder(Tr); printf(&&#92,学习不大好;中序遍历左子树Visit(T-&data);&#47,可是这个程序俺也不大会弄 printf(&struct BinNode *lchild,*/生成右子树}/&#47,毕竟我还是学的时候思路比较清晰啦,嘿嘿;n后序遍历结果为:&#92,Visit是访问数据元素的函数if(T)/&#47,貌似~是按前序序列来创建的二叉树,你输入的前序序列一定要是正确的哦~我的这个程序还很低级,错误的它不会提示;中序遍历二叉树T的递归算法;ifreturn T;}//stdlib.h&二叉树非空{PostOrderTraverse(T-&访问根结点PreOrderTraverse(T-&%c,\n&); CreateBinTree(Tr,T,i);n&); LevelOrder(Tr); printf(&\前序遍历二叉树void PreOrderTraverse(BinTree T){// printf(&/InOrderTraversevoid PostOrderTraverse(BinTree T){//#include&/后序遍历右子树Visit(T-&),dataa);}//if}/按前序构造二叉树链表表示的二叉树序列BinTree CreateBinTree(BinTree &T){/&#47.h&#include &n该二叉树的深度为;//if}/CreateBinTreevoid Visit(char dataa){printf(&%c&;n前序遍历结果为:&#92。。我想要的主类大体是这样写的,你可以参考一下:void main(){ BiTree
Tr;/\n该二叉树的叶子节点个数为:\rchild);生成根结点CreateBinTree(T-&lchild);&#47,不好意思。;stdlib.h&);访问根结点}///&#47,visit是访问数据元素的函数if(T)//n&); PreOrder(Tr);/else{T=(BinNode *)malloc(sizeof(BinNode));// printf(&
#include&\n&T-&///访问根结点InOrderTraverse(T-&前序遍历右子树}//lchild);这个括号里面的内容我也不知该怎么写;后序遍历左子树PostOrderTraverse(T-&rchild);/前序遍历二叉树T的递归算法;n该二叉树的所有结点数为:&#92,&ch);if(ch=='#') T=NULL;rchild),不好意思哈;\n中序遍历结果为;,countHighOfBiTree(Tr));///&#47:\n%d&quot,没用过这样子的语言来写呢,刚刚写了个主类可是运行还是有错误;lchild);//n&;n&); countNumOfLeaf(Tr); printf(&&#92.h&#define NULL 0typedef char Etypedef struct BinNode{E/反正括号里的内容就是你前面写的那个函数括号里相应的 printf(&quot,Visit是访问数据元素的函数if(T)//data);/中序遍历二叉树void InOrderTraverse(BinTree T){/&#47,本来是想让那个BinTree是个指针的;/生成左子树CreateBinTree(T-&rchild);lchild);#include&n&); PostOder(Tr); printf(&\}这里是实验课上老师布置给我们的,然后自己写的,以#表示为空:\前序遍历左子树PreOrderTraverse(T-&/左右孩子指针}BinTNode,*BinT/&#47,我又不会改;后序遍历二叉树T的递归算法.h&#include&string,语言和你的不大一样 但思路差不多,你可以看看这个的;中序遍历右子树}/&#47,程序大体读了读 貌似不大会 printf(&\n层序遍历结果为:\/这里定义的东西在这个程序里也不行;二叉树非空{Visit(T-&data=ch.h&#include &二叉树非空{InOrderTraverse(T-&data);n&); Count(Tr);按前序次序输入:\n&/PreOrderTraverse//&#47,只能帮到这里了#include &stdio我的能力也有限,学数据结构过的时间有点久了,而且这个程序我读的很吃力
采纳率:38%
为您推荐:
其他类似问题
main函数的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。输入一个二叉树树中每个节点存放了一个整数值函数返回这棵二叉树中相差最大的两个节点间的差值绝对值程序_百度知道
输入一个二叉树树中每个节点存放了一个整数值函数返回这棵二叉树中相差最大的两个节点间的差值绝对值程序
我有更好的答案
find(root-&right); return&max&left);&value&&&max)
max&*};int&&!=& node&* node& if&(root-&right&min)
min&=&=&MIN_INF;//初始化为一个足够小的值 if&(root-&value&MAX_INF!=&NULL)
find(root-&gtstruct&node{ int&//初始化为一个足够大的值 static&min&=&find(node&*root){ static&int&(root-& if&(root-&left&;=&root-&int&max&root-& if&value
采纳率:94%
为您推荐:
其他类似问题
二叉树的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。编写按层次(同一层自左到右)输出二叉树中所有节点的函数。_百度知道
编写按层次(同一层自左到右)输出二叉树中所有节点的函数。
编写按层次(同一层自左到右)输出二叉树中所有节点的函数。可以的话能不能测试主函数
我有更好的答案
利用队列就可以了。首先队列为空。然后把左右节点推入队列。以后如果队列不为空,则从中取出,并将其孩子入队列。处理直到队列为空即可。
为您推荐:
其他类似问题
二叉树的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。}

我要回帖

更多关于 一维数组函数格式 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信