1试编写判断二叉树是否为二叉排序树 (2) 2.doc

1试编写判断二叉树是否为二叉排序树 (2) 2.doc

ID:48042200

大小:19.00 KB

页数:2页

时间:2020-01-20

1试编写判断二叉树是否为二叉排序树 (2) 2.doc_第1页
1试编写判断二叉树是否为二叉排序树 (2) 2.doc_第2页
资源描述:

《1试编写判断二叉树是否为二叉排序树 (2) 2.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、1试编写判断二叉树是否为二叉排序树Voidis_but(BSTreebt){Btreep,pre,s[maxsize];P=bt;Inttop=0;Intx=minvol;While(pl=null)

2、

3、(top

4、=0)){while(pl=num){s[top]=p;top=top+1;p=p>

5、child;}If(top

6、=0){top=top-1;p=s[top];if(x<=p->data)x=p->data;/*若非递减,则继续,否则结束*/elsereturn(false);p=p->rchild;}}return(true);

7、}2假设有一个长度大于一的循环链表,在链表中删除指针s的指向的结点intDel-LinkList(LinkLists){LinkListp=s;While(p->next

8、=s)P=p->next;p->next=s->next;return(1);}3求二叉树度为2的结点数,Leaf-counter(Btreet){counter=0;PseqStackS;Btreep=t;S=Init-SeqStack();While(p

9、

10、Iempty-SeqStack(S)){If(p){Push-SeqStack(S,p);p=p->

11、child

12、;}else{Pop-SeqStack(S,p);If((p=p->

13、child==null)&&(p->rchild==null))counter++;P=p->rchild;}}Return(ounter);}4已知线性表(a1,a2,a3...)吧所有负值元素移到左边。Voidshift(intR[],intn){intlow,high;Low=0;high=n-1;While(low

14、;If(lowR[high];}}5.求出链表中最大值的第一个结点的地址。Linklistfindmax(linklisthead){linklistp,q;Datatypemax;If(head==null)return(null);/*表为空,返回*/q=head;max=head->data;P=head->next;While(p

15、=null){if(maxdata){max=p->data;q=p;}P=p->next;}return(q);}6求二插链表结构二叉树度为一的节点数Intcoun

16、t(bintree*t)/*求二插链表结构二叉树t度为一的节点数*/{Intnum1,num2;If(t==NULL)return(0);elseif((t->

17、child==NULL&&t->rchild!=NULL)

18、

19、(t->1child!=NULL&&t->rchild==NULL))return(1);else{num1=count(t->1child);num2=count(t->rchild);return(num1+num2);}}7二叉树T中查找只为x的算法。BinSTreeBSTreeSearch(BinSTreet,K

20、eyTypeX)/*二叉树中查找值为X的算法*/(BinStreeq;q=t;While(t){q=t;If(t->key==X)/*查找成功*/Return(t);If(t->key<=X)t=t->1child;/*在左子树中查找*/elset=t->rchild;/*在右子数中查找*/}return(t);}

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

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

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