您的位置:首页 > 其它

创建二叉排序树

2016-06-12 17:26 225 查看
二叉排序树以lson-rson链接方式存储,编写能够通过键盘输入建立二叉排序树,并在建立完立即在屏幕显示中序遍历结果的程序。

#include<stdio.h>
#include<stdlib.h>
struct treenode
{
int data;
struct treenode *lson;
struct treenode *rson;
};
int main()
{
struct treenode * creat(struct treenode *T);
struct treenode *insert(struct treenode *T,struct treenode *S);
void inorder(struct treenode *T);
struct treenode *T=NULL;
T=creat(T);
printf("中序遍历结果:\n");
inorder(T);
return 0;
}

struct treenode *insert(struct treenode *T,struct treenode *S)
{
if(T==NULL)
T=S;
else if(S->data<T->data)
T->lson=insert(T->lson,S);
else if(S->data>T->data)
T->rson=insert(T->rson,S);
else
{
printf("error!\n");
exit(0);
}
return T;
};

struct treenode *creat(struct treenode *T)
{
int data;
struct treenode *S;
printf("请输入结点:\n");
scanf("%d",&data);
while(data!=0)
{
S=(struct treenode *)malloc(sizeof(struct treenode));
S->data=data;
S->lson=NULL;
S->rson=NULL;
T=insert(T,S);
scanf("%d",&data);
}
return T;
}

void inorder(struct treenode *T)
{
if(T!=NULL)
{
inorder(T->lson);
printf("%d ",T->data);
inorder(T->rson);
}
else
return ;
}
谢谢来访

,如有问题,可与本人联系。 QQ:2201774151
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: