标题:关于二叉排序树的创建查找和插入的问题
只看楼主
guoyouy
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2013-10-29
结帖率:50%
已结贴  问题点数:10 回复次数:1 
关于二叉排序树的创建查找和插入的问题
#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>

typedef struct BTnode{
    int data;
    struct BTnode *lchild,*rchild;
}BTNODE,*PBTNODE;

PBTNODE insert(PBTNODE T,PBTNODE S);
PBTNODE create(PBTNODE T);
void inordertraverse_BTree(PBTNODE T);

int main (void)
{   PBTNODE T,S;
    T=S=NULL;
    T=create(T);
    printf("二叉排序树遍历");
    inordertraverse_BTree(T);
    return 0;
}

PBTNODE insert(PBTNODE T,PBTNODE S)
{    if(T==NULL)
    { T=S;
      return T;
    }
     else if((T->data)<(S->data))
     insert(T->rchild,S);
     else
     insert(T->lchild,S);
}

PBTNODE create(PBTNODE T)
{  PBTNODE S;
   int key,n,i;
   printf("请输入个数:");
   scanf("%d",&n);
   printf("请输入数字:");
   for(i=1;i<=n;i++)
   {
     S=(BTNODE*)malloc(sizeof(BTNODE));     
     scanf("%d",&key);
     S->data=key;
     S->lchild=S->rchild=NULL;
     T=insert(T,S);
   }
   return T;
}

void inordertraverse_BTree(PBTNODE T){
  if(NULL!=T)
  {   if(NULL!=T->lchild)
  {  inordertraverse_BTree(T->lchild);}
          printf("%d\n",T->data);
         if(NULL!=T->rchild)
         {  inordertraverse_BTree(T->rchild);
         }
  }   
}
搜索更多相关主题的帖子: include return create insert 
2013-11-30 21:11
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6809
专家分:42393
注 册:2010-12-16
得分:10 
这算是show代码吗

我行我乐
我的博客:
http://blog.yuccn. net
2013-12-02 09:50



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-424476-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017505 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved