谁能帮我分析一下这个程序!#includetypedef struct BinNode{char info;int num;struct BinNode *left,*right;}*BinNodePtr;void ins_btree(BinNodePtr &root,char key){BinNode *p=root,*pre=NULL;while(p!=NULL&&p->info!=key){pre=p;if(keyinfo
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/27 06:13:35
谁能帮我分析一下这个程序!#includetypedef struct BinNode{char info;int num;struct BinNode *left,*right;}*BinNodePtr;void ins_btree(BinNodePtr &root,char key){BinNode *p=root,*pre=NULL;while(p!=NULL&&p->info!=key){pre=p;if(keyinfo
谁能帮我分析一下这个程序!
#include
typedef struct BinNode
{
char info;
int num;
struct BinNode *left,*right;
}*BinNodePtr;
void ins_btree(BinNodePtr &root,char key)
{
BinNode *p=root,*pre=NULL;
while(p!=NULL&&p->info!=key)
{
pre=p;
if(keyinfo)
p=p->left;
else
p=p->right;
}
if(p==NULL)
{
p=new BinNode;
p->left=NULL;
p->right=NULL;
p->info=key;
p->num=1;
if(pre==NULL)
root=p;
else
{
if(pre->infoinfo)
pre->right=p;
else
pre->left=p;
}
}
else
{
p->num++;
}
}
void InOrder(BinNode *t)
{
if(t!=NULL)
{
InOrder(t->left);
cout
谁能帮我分析一下这个程序!#includetypedef struct BinNode{char info;int num;struct BinNode *left,*right;}*BinNodePtr;void ins_btree(BinNodePtr &root,char key){BinNode *p=root,*pre=NULL;while(p!=NULL&&p->info!=key){pre=p;if(keyinfo
BinNodePtr 的声明是:
typedef struct BinNode{
char info;
int num;
struct BinNode *left,*right;
}*BinNodePtr;
因此BinNodePtr就是BinNode *,BinNodePtr &root要换的话就是换成BinNode * &root.
就是这点不明白吧?