一、结点的数据结构定义
struct Node
{
int data;
Node* lchild;
Node* rchild;
};
二、新建一个结点
Node* newNode(int v)
{
Node* node=new Node;
node->data=v;
node->lchild=NULL;
node->rchild=NULL;
return node;
}
三、二叉树结点的查找、修改
void search(Node* root,int x,int newdata)
{
if(root==NULL) return;
if(root->data==x) root->data=newdata;
search(root->lchild,x,newdata);
search(root->rchild,x,newdata);
}
三、结点的插入
void insert(Node* &root,int x)
{
if(root==NULL)
{
root=newNode(x);
return;
}
if(条件)
{
insert(root->lchild,x);
}
else
{
insert(root->rchild,x);
}
}
四、二叉树的创建
Node* create(int data[],int n)
{
Node* root=NULL;
for(int i=0;i<n;i++)
{
insert(root,data[i]);
}
return root;
}