#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct node
{
node *left;
node *right;
int key;
};
node *create()
{
node * T=(node *)malloc(sizeof(node));
T->left=NULL;
T->right=NULL;
return T;
}
int a[100];
node * inst(node *T,int val)
{
if(T!=NULL)
{
if(val<T->key)
{
T->left=inst(T->left,val);
}
else if(val>T->key)
{
T->right=inst(T->right,val);
}
}
else
{
T=create();
T->key=val;
return T;
}
return T;
}
void traval(node *T)
{printf("%d",T->key);
if(T->left!=NULL)
{
traval(T->left);
}
if(T->right!=NULL)
{
traval(T->right);
}
}
void traval2(node *T)
{
if(T->left!=NULL)
{
traval2(T->left);
}
printf("%d",T->key);
if(T->right!=NULL)
{
traval2(T->right);
}
}
void traval3(node *T)
{
if(T->left!=NULL)
{
traval3(T->left);
}
if(T->right!=NULL)
{
traval3(T->right);
}
printf("%d",T->key);
}
int main()
{
int n;
int x;
node *T=NULL;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%d",&x);
T=inst(T,x);
}
traval(T);
printf("\n");
traval2(T);
printf("\n");
traval3(T);
printf("\n");
return 0;
}
建立二叉排序树
猜你喜欢
转载自blog.csdn.net/qq_34552393/article/details/80964793
今日推荐
周排行