文章
9
粉丝
37
获赞
91
访问
2.3k
#include<bits/stdc++.h>
using namespace std;
typedef struct node{
int data;
struct node *lchild,*rchild;
}Bnode,*BiTree;
void insertnode(BiTree &T,int a){
if(T==NULL){
T=(BiTree)malloc(sizeof(Bnode));
T->data=a;
T->lchild=NULL;
T->rchild=NULL;
}
else{
if(T->data>a){
insertnode(T->lchild,a);
}
else if(a>T->data){
insertnode(T->rchild,a);
}
else return;
}
}
int func(BiTree T,int a){
if(T&&(T->lchild||T->rchild)){//当前结点不空且不为叶子结点
if(a<T->data){
if(T->lchild->data==a) return T->data;
else return func(T->lchild,a);//递归查询左孩子
}
else if(a>T->data){
if(T->rchild->data==a) return T->data;
else return func(T->rchild,a);//递归查询有孩子
...
登录后发布评论
暂无评论,来抢沙发