CH5_9.C
上传用户:lgb298
上传日期:2013-03-22
资源大小:1025k
文件大小:1k
源码类别:

软件工程

开发平台:

C/C++

  1. #include <stdio.h>
  2. #include <alloc.h>
  3. typedef struct node
  4. {  int data;
  5.    struct node *lchild,*rchild;
  6. }JD;
  7. JD *insertbst(JD *r,int x)
  8. {  JD *p,*q,*s;
  9.    s=(JD *)malloc(sizeof(JD));
  10.    s->data=x;  s->lchild=s->rchild=NULL;
  11.    q=NULL;
  12.    if(r==NULL) {  r=s; return(r);}
  13.    p=r;
  14.    while(p!=NULL)
  15.    {  q=p;
  16.       if(x<p->data)
  17.  p=p->lchild;
  18.       else
  19.  p=p->rchild;
  20.    }
  21.    if(x<q->data)
  22.       q->lchild=s;
  23.    else
  24.       q->rchild=s;
  25.    return(r);
  26. }
  27. void inorder(JD *bt)
  28. {  if(bt!=NULL)
  29.    {  inorder(bt->lchild);
  30.       printf("%dt",bt->data);
  31.       inorder(bt->rchild);
  32.    }
  33. }
  34. void main()
  35. {  static int key[]={10,18,3,8,12,2,7,3};
  36.    JD *head=NULL;
  37.    int i,n=8;
  38.    for(i=0;i<n;i++)
  39.      head=insertbst(head,key[i]);
  40.    inorder(head);
  41. }