二叉树的建立
## c语言建立二叉树 注意二叉树使用的是指针的指针,也就是双重指针,为什么呢?因为我们要改变每个节点的指向,所以所要指针的指针,这里要对比链表的结构
void CreateBiTree(BiTree *T)
{
char c;
scanf_s("%c", &c);
if (' ' == c)
{
*T = NULL;
}
else
{
*T = (BiTNode *)malloc(sizeof(BiTNode));
(*T)->data = c;
CreateBiTree(&((*T)->lchild));
CreateBiTree(&(*T)->rchild);
}
}
java语言建立二叉树
java语言建立二叉树,改变节点的指向,这个比较麻烦,不过我们可以一个节点,一个节点的建立二叉树,我所见到的代码几乎都是这样的,这就不列举了。
再谈一下二叉搜索树的建立
##c语言建立二叉搜索树
##java语言建立二叉搜索树
public void buildBSTree(Node node,int data){
if(root == null){
root = new Node(data);
}else{
if(data < node.data){
if(node.left == null){
node.left = new Node(data);
}else{
buildBSTree(node.left,data);
}
}else{
if(node.right == null){
node.right = new Node(data);
}else{
buildBSTree(node.right,data); //这儿运用到递归 核心
}
}
}
}