- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
二叉树顺序查找.doc
#include stdio.h
#include malloc.h
#define NULL 0
typedef struct node/*链表的方式构造节点,存储二叉排序树中的节点!这是节点类型和指针类型。*/
{int key;
int other ;
struct node *lchild,*rchild;
}Twotree;
Twotree *Bsearch(Twotree *t,int x)/*查找相应的节点*/
{Twotree *p;
int flag=0;p=t;
while(p!=NULL)
{ if(p-key==x)
{ printf(已找到该节点!);flag=1;return(p);break;}/*寻访所有的节点,如有和关键字相同的,就输出*/
if (xp-key)/*如果key小于节点没有就查找左子树*/
p=p-lchild;
else p=p-rchild;/*如果key大于节点没有就查找右子树*/
}
if(flag==0)
{printf(找不到值为%d的节点!,x); return NULL; }
}
Twotree *InsertBST(Twotree *t,int x)/*插入节点,创建二叉顺序树*/
{
Twotree *s,*p,*f;p=t;
while (p!=NULL){
f=p; /*查找过程中,f指向*p的父节点*/
if(x==p-key) return t; /*二叉排序树中已有关键字为x的元素,无序插入*/
if(xp-key) p=p-lchild;
else p=p-rchild;
}
s=(Twotree *)malloc(sizeof(Twotree));
s-key=x;s-lchild=NULL;s-rchild=NULL;
if(t==NULL) return s; /*原树为空,新节点成为二叉排序树的根*/
if(xf-key) f-lchild=s; /*新节点作为*f的左孩子*/
else f-rchild=s; /*新节点作为*f的右孩子*/
return t;
}
Twotree *CreateBST()/*创建一个新的二叉树*/
{
Twotree *t;int key; t=NULL; /*设置二叉排序树的初态为空*/
scanf(%d,key); /*读入第一个节点的关键字*/
while(key!=0){
t=InsertBST(t,key);scanf(%d,key);
}
return t;
}
void Inorder(Twotree *T)/*中序遍历*/
{
if(T){ /*若二叉树不空*/
Inorder(T-lchild); /*中序遍历左子树 */
printf(%4d,T-key); /*访问根节点*/
Inorder(T-rchild); /*中序遍历右子树*/
}
}
void menu()/*主函数显示菜单模块.*/
{
printf(┏━━━━━━━━━━━━━━━┓\n);
printf(┠───────────────┨\n);
printf(┃1----------查找数据-----------┃\n);
printf(┠───────────────┨\n);
printf(┠───────────────┨\n);
printf(┃2----------退出系统-----------┃\n);
printf(┠───────────────┨\n);
printf(┗━━━━━━━━━━━━━━━┛\n);
}
main()/*主函数模块.*/
{
Twotree *tree,*p;int seai,deli,x;
int k,flag=1;
printf(┏━━━━━数据输入━━━━━━┓\n);
printf(┠───────────────┨\n);
printf(┃---输入数据,
您可能关注的文档
最近下载
- 大学生职业生涯规划.pdf VIP
- 2025广西中考化学真题试卷及答案 .pdf VIP
- 内生真菌A21-1-1在防治水稻稻瘟病中的应用.pdf VIP
- 99038 法学毕业考核 自考考试大纲.docx VIP
- 工 程 报 价 单模板.docx VIP
- 中医耳鼻咽喉科学喉痈课件.pptx VIP
- (新)电大资源网11379《人文英语3》国家开放大学期末考试题库(476)[期末纸考+一平台机考]-已排版.pdf VIP
- 2024北京中医药大学第二批管理岗、专职辅导员岗、其他专技岗招聘笔试备考试题及答案解析.docx VIP
- 犯罪学(00235)自考复习资料.doc VIP
- 2025年北京中医药大学管理岗、专职辅导员岗、实验技术岗、其他专技岗招聘笔试模拟试题及答案解析.docx VIP
原创力文档


文档评论(0)