欢迎来到天天文库
浏览记录
ID:56951055
大小:42.00 KB
页数:26页
时间:2020-07-28
《二叉树先序、中序、后序遍历非递归算法.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、二叉树.先序遍历非递归算法voidPreOrderUnrec(Bitree*t){ Stacks;StackInit(s);Bitree*p=t;while(p!=NULL
2、
3、!StackEmpty(s)){ while(p!=NULL) //遍历左子树 { visite(p->data); push(s,p); p=p->lchild; } if(!StackEmpty(s)) //通过下一次循环中的内嵌while实现右子树遍历
4、 { p=pop(s); p=p->rchild; }//endif }//endwhile}2.中序遍历非递归算法voidInOrderUnrec(Bitree*t){ Stacks;StackInit(s);Bitree*p=t; while(p!=NULL
5、
6、!StackEmpty(s)){ while(p!=NULL) //遍历左子树 { push(s,p); p=p->lchild; }
7、 if(!StackEmpty(s)) { p=pop(s); visite(p->data); //访问根结点 p=p->rchild; //通过下一次循环实现右子树遍历 }//endif}//endwhile}3.后序遍历非递归算法typedefenum{L,R}tagtype;typedefstruct{Bitreeptr;tagtypetag;}stacknode;typedefstruct{stacknodeElem[maxsize];inttop;}SqS
8、tack;voidPostOrderUnrec(Bitreet){SqStacks;stacknodex;StackInit(s);p=t;do{ while(p!=null) //遍历左子树 { x.ptr=p; x.tag=L; //标记为左子树 push(s,x); p=p->lchild; } while(!StackEmpty(s)&&s.Elem[s.top].tag==R) { x=pop(s); p=x.p
9、tr; visite(p->data);//tag为R,表示右子树访问完毕,故访问根结点 } if(!StackEmpty(s)) { s.Elem[s.top].tag=R; //遍历右子树 p=s.Elem[s.top].ptr->rchild; }}while(!StackEmpty(s));}//PostOrderUnrec------------------------------------------------------------
10、---范文最新推荐------------------------------------------------------电力安全月工作总结[电力安全月工作总结]电力安全月工作总结2011年3月1日至3月31日为我公司的安全生产月,**变电站围绕;夯实基储提高素质、树立标杆、争创一流;的主题,开展了丰富多彩、形式多样的具体行动:通过看板形式宣传安全第一、预防为主的方针;通过48+4的学习机会,进行安全生产大讨论;通过安全活动进行查找本站的隐患的活动,电力安全月工作总结。形成了;人人学会安全,层层尽责保证安全;的良好氛围,使我站的安全生
11、产工作又上了一个新的台阶。本站安全生产月活动具体工作如下:1.开展安全月活动宣传工作,大家坐在一起讨论活动的主题、学习实施纲要、讨论各个实施阶段的活动安排。深刻反思11.3事故,汲取事故教训,每人写了一份11.3事故反思,并对本站的安全管理、记录报表、规章制度、培训工作、事故隐患每个值班员都谈了自己的看法和建议,对站内管理每个人都倾注了最大的热情,可见11.3对每一个值班员的触动是刻骨铭心的,安全月的必要开展对变电站各项工作的促进,尤其对值班员安全意识、主人翁精神的影响最为深刻。26----------------------------
12、-----------------------------------范文最新推荐------------------------------------------------------电
此文档下载收益归作者所有