function:依次输入元素值,以链表方式建立二叉树,并输出结点内容。
代码实现:
#include <stdio.h>
#include <stdlib.h>
struct tree
{
struct tree *left;
int data;
struct tree *right;
};
typedef struct tree treenode;
treenode *b_tree;
b_tree insert_node(b_tree root,int node)
{
b_tree newnode;
b_tree currentnode;
b_tree parentnode;
newnode=(b_tree)malloc(sizeof(treenode));
newnode->data=node;
newnode->right=NULL;
newnode->left=NULL;
if(root==NULL)
return newnode;
else{
currentnode=root;
while(currentnode!=NULL){
parentnode=currentnode;
if(currentnode->data>node)
currentnode=currentnode->left;
else
currentnode=currentnode->right;
}
if(parentnode->data>node)
parentnode->left=newnode;
else
parentnode->right=newnode;
}
return root;
}
b_tree create_btree(int *data,int len)
{
b_tree root=NULL;
int i