⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 6.2.c

📁 自己写的数据结构课程程序
💻 C
字号:
#include<stdio.h>
#define NULL 0
struct BiTNode
{int data;
 struct BiTNode *lchild;
 struct BiTNode *rchild;
};
struct BiTNode *T;
struct BiTNode *p;
int SearchBST(struct BiTNode *T,int e,struct BiTNode *f)
{if(!T)
   {p=f;
    return 0;
   }
 else
   if(e==T->data)
     {p=T;
      return 1;
     }
   else
     if(e<T->data)
       return SearchBST(T->lchild,e,T);
     else
       return SearchBST(T->rchild,e,T);
}
int InsertBST(int e)
{struct BiTNode *s;
 if(!SearchBST(T,e,NULL))
  {s=(struct BiTNode *)malloc(sizeof(struct BiTNode));
   s->data=e;
   s->lchild=s->rchild=NULL;
   if(!p)
     T=s;
   else
     if(e<p->data)
       p->lchild=s;
     else
       p->rchild=s;
   return 1;
  }
 else
   return 0;
}
void CreatBST()
{int e;
 T=p=NULL;
 printf("input data! when input 32767 to break.\n");
 while(e!=32767)
   {scanf("%d",&e);
    InsertBST(e);
   }
}
void main(void)
{int e;
 CreatBST();
 printf("input data to search.\n");
 scanf("%d",&e);
 if(SearchBST(T,e,NULL))
   printf("true!\n%d\n",p->data);
 else
   {printf("false!\n");
    if(InsertBST(e))
      printf("insert success!\n");
   }
 getchar();
 getchar();
}

⌨️ 快捷键说明

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