#include<stdio.h>
#include<string.h>
#include<stdlib.h>
struct node
{
int data;
node *lc;
node *rc;
};
node* insert(node *p,int a)
{
if(p==NULL)
{
p=(node*)malloc(sizeof(node));
p->data=a;
p->lc=NULL;
p->rc=NULL;
}
else
{
if(a>p->data)
p->rc=insert(p->rc,a);
else
p->lc=insert(p->lc,a);
}
return p;
}
void midput(node* p)
{
if(p!=NULL)
{
midput(p->lc);
printf("%d ",p->data);
midput(p->rc);
}
}
int main()
{
node* p;
int val,n;
while(scanf("%d",&n)!=EOF)
{
p=NULL;
for(int i=1;i<=n;i++)
{
scanf("%d",&val);
p=insert(p,val);
}
midput(p);
}
return 0;
}
排序二叉樹
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.