谁能帮我分析一下这个程序!#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
谁能帮我分析一下这个程序!#includetypedefstructBinNode{charinfo;intnum;structBinNode*left,*right;}*BinNodePtr;

谁能帮我分析一下这个程序!#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.

就是这点不明白吧?