标题:有序二叉树的查找问题
取消只看楼主
想你的天空
Rank: 2
等 级:新手上路
威 望:5
帖 子:610
专家分:0
注 册:2004-12-30
 问题点数:0 回复次数:0 
有序二叉树的查找问题
#include "malloc.h"
#include"stdio.h"
typedef struct node
{  int data;
   struct node *left,*right;
}ErXTree;
void insert(ErXTree **t,ErXTree *s)
{  if(*t==NULL)  *t=s;
   else if(s->data==(*t)->data) return;
   else if(s->data<(*t)->data) insert(&(*t)->left,s);
   else if(s->data>(*t)->data) insert(&(*t)->right,s);
}
void creat(ErXTree **t1)
{  int x,k=0;
   ErXTree *s,*t;
   t=NULL;
   scanf("%d",&x);
   while(x!=0)
   {    s=(ErXTree*)malloc(sizeof(ErXTree));
        s->data=x;if(k==0)*t1=s;k++;
        s->left=NULL;
        s->right=NULL;
        insert(&t,s);
        scanf("%d",&x);
   }
}
ErXTree *search(ErXTree *b,int x)
{  if(b=NULL) return NULL;
   else
   { if(b->data==x) return b;
     if(x<b->data)  return (search(b->left,x));
     else return (search(b->right,x));
   }
}
main()
{   ErXTree *t;
    int x,k;
    creat(&t);
    printf("输入要查找的关键字:");
    scanf("%d",&x);
    if(search(t,x)==x)
    printf("找到了");
    else printf("没有找到");
}     //输入要查找的值后, 程序就结束了

[此贴子已经被作者于2005-4-6 11:17:58编辑过]


搜索更多相关主题的帖子: 二叉树 data ErXTree insert quot 
2005-04-06 11:15



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




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

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