创建二叉排序树

来源:互联网 发布:linux没有service命令 编辑:程序博客网 时间:2024/06/03 16:16

二叉排序树以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

0 0
原创粉丝点击