最新二叉排序树(C语言).doc

最新二叉排序树(C语言).doc

ID:60222724

大小:32.50 KB

页数:8页

时间:2020-12-04

最新二叉排序树(C语言).doc_第1页
最新二叉排序树(C语言).doc_第2页
最新二叉排序树(C语言).doc_第3页
最新二叉排序树(C语言).doc_第4页
最新二叉排序树(C语言).doc_第5页
资源描述:

《最新二叉排序树(C语言).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、__________________________________________________#include#includetypedefintKeyType;typedefstructBinSearchNode{KeyTypekey;/*结点的关键码字段*/structBinSearchNode*llink,*rlink;/*二叉树的左、右指针*/}DicElement;typedefstruct{intMAXNUM;/*字典中元素的个数上界*/intn;/*为字典中实际

2、元素的个数*/int*element;/*存放字典中的元素*/}SeqDictionary;structBinSearchNode;typedefstructBinSearchNode*PBinSearchNode;typedefstructBinSearchNode*BinSearchTree;/*二叉排序树*/typedefBinSearchTree*PBinSearchTree;intsearch(PBinSearchTreeptree,KeyTypekey,PBinSearchNode*position){PB

3、inSearchNodep,q;p=*ptree;q=p;while(p!=NULL){q=p;/*用q记录父结点的位置*/if(p->key==key){*position=p;return1;}/*检索成功*/elseif(p->key>key)p=p->llink;/*进入左子树继续检索*/elsep=p->rlink;/*进入右子树继续检索*/}*position=q;return0;/*检索失败,position指向失败时的父结点*/}voidinOrder(BinSearchNode*p){if(p){if

4、(p->llink)inOrder(p->llink);收集于网络,如有侵权请联系管理员删除__________________________________________________printf("%d",p->key);if(p->rlink)inOrder(p->rlink);}}intinsert(PBinSearchTreeptree,KeyTypekey){PBinSearchNodep,position;if(search(ptree,key,&position)==1)return1;/*已存在

5、关键码为key的结点*/p=(PBinSearchNode)malloc(sizeof(structBinSearchNode));/*申请新结点*/if(p==NULL){printf("Error");return0;}/*申请空间出错*/p->key=key;p->llink=p->rlink=NULL;/*对新结点的赋值*/if(position==NULL)*ptree=p;/*原树为空树*/elseif(keykey)position->llink=p;/*插入position的左

6、子树*/elseposition->rlink=p;/*插入position的右子树*/return1;}intcreatSearchTree(PBinSearchTreeptree,SeqDictionary*dic)//新建二叉排序树{inti;*ptree=NULL;/*将二叉排序树置空*/printf("请输入字典中允许的最大元素个数");scanf("%d",&dic->MAXNUM);dic->element=(int*)malloc(sizeof(int));printf("请输入当前要插入的元素的个

7、数");scanf("%d",&dic->n);printf("请输入%d个大小不一样的整数",dic->n);for(i=0;in;i++){scanf("%d",&dic->element[i]);if(!insert(ptree,dic->element[i]))return0;/*将新结点插入树中*/}return1;}收集于网络,如有侵权请联系管理员删除__________________________________________________intdeleteNode_a(PBi

8、nSearchTreeptree,KeyTypekey){PBinSearchNodeparentp,p,r;p=*ptree;parentp=NULL;while(p!=NULL){if(p->key==key)break;/*找到了关键码为key的结点*/parentp=p;/*没有找到选子树*/if(p->key>key)p

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。