locabitr.c

来自「《数据结构》教材源程序,可以让你轻松的根据教材学习数据结构」· C语言 代码 · 共 44 行

C
44
字号
#include<stdio.h>
#include<stdlib.h>
typedef char datatype;
typedef struct node            /*二叉树结点定义*/
 {
  datatype data;
  struct node *lchild,*rchild;
  }bintnode;
typedef bintnode *bintree;
void createbintree(bintree *t)       
{/*按照前序遍历的顺序建立一棵给定的二叉树*/
 char ch;
 if ((ch=getchar())==' ')
      *t=NULL;
      else {
	  *t=(bintnode *)malloc(sizeof(bintnode));
	  (*t)->data=ch;
	  createbintree(&(*t)->lchild);
	  createbintree(&(*t)->rchild);
      }
 }
bintree locate(bintree t, datatype x)  
{    /*在二叉树t中查找值为x的结点*/
 bintree p;
   if (t==NULL)  return  NULL;
   else
      if (t->data==x) return  t;
      else
	     { p=locate(t->lchild,x);
           if (p) return  p;
	       else  return  locate(t->rchild,x);
          }
}
main()
{ bintree root,p;
  datatype x;
  createbintree(&root);
  getchar();
  x=getchar();
  p=locate(root,x);
  if (p) printf("found!");
  else printf("no found!") ;
}
  

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?