#include <stdio.h>
typedef struct node
{
int data;
struct node *left;
struct node *right;
}node;
void print(node *p)
{
if(p!=NULL)
{
print(p->left);
printf("%d/n",p->data);
print(p->right);
}
}
void main()
{
int n;
node *head,*f,*p,*q;
scanf("%d",&n);
head=(node *)malloc(sizeof(node));
head->data =n;
head->left =NULL;
head->right =NULL;
scanf("%d",&n);
while(n!=-1)
{
p=(node *)malloc(sizeof(node));
p->data =n;
p->left=NULL;
p->right =NULL;
q=head;
f=q;
while(q!=NULL)
{
if(n<q->data )
{
f=q;
q=q->left ;
continue;
}
if(n>q->data )
{
f=q;
q=q->right ;
continue;
}
}
if(n<f->data ) f->left =p;
if(n>f->data ) f->right =p;
scanf("%d",&n);
}
print(head);
}
二叉树节点创建与遍历代码示例
此博客给出一段C语言代码,定义了二叉树节点结构体,包含数据及左右子节点指针。代码实现了二叉树节点的创建,根据输入数据构建二叉树,还实现了中序遍历函数来输出节点数据,展示了二叉树的基本操作。
1562

被折叠的 条评论
为什么被折叠?



