#include<stdio.h>
#include<stdlib.h>
typedef int ElemType;
typedef struct tree
{
/* data */
ElemType data;
struct tree *lchlid,*rchild;
}Ntree,*p_tree;
void insert(p_tree *T,int e)
{
if(*T == NULL){
*T=(Ntree *)malloc(sizeof(Ntree));
(*T)->data=e;
(*T)->lchlid=NULL;
(*T)->rchild=NULL;
}
else if(e<(*T)->data)
{
/* code */
insert(&(*T)->lchlid,e);
}else
{
insert(&(*T)->rchild,e);
}
}
void preTraversr(p_tree T){
if(T==NULL){
return;
}
printf("%d\n",T->data);
preTraversr(T->lchlid);
preTraversr(T->rchild);
}
int main(){
int a[]={6,3,8,2,5,1,7};
p_tree T;
int i;
for(i = 0; i < 7; i++)
{
/* code */
insert(&T,a[i]);
}
preTraversr(T);
return 0;
}
c语言实现二叉树
最新推荐文章于 2024-04-05 16:33:11 发布