1 / 3
文档名称:

二叉树先序、中序、后序三种遍历的非递归算法,此三个算法可视为标准算法.doc

格式:doc   大小:23KB   页数:3页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

二叉树先序、中序、后序三种遍历的非递归算法,此三个算法可视为标准算法.doc

上传人:花花世界 2019/1/25 文件大小:23 KB

下载得到文件列表

二叉树先序、中序、后序三种遍历的非递归算法,此三个算法可视为标准算法.doc

文档介绍

文档介绍:本贴给出二叉树先序、中序、后序三种遍历的非递归算法,此三个算法可视为标准算法。#definemaxsize100typedefstruct{  BitreeElem[maxsize];  inttop;}SqStack;voidPreOrderUnrec(Bitreet){  SqStacks;  StackInit(s);  p=t;    while(p!=null||!StackEmpty(s))  {      while(p!=null)        //遍历左子树      {        visite(p->data);        push(s,p);        p=p->lchild;          }//endwhile            if(!StackEmpty(s))      //通过下一次循环中的内嵌while实现右子树遍历      {        p=pop(s);        p=p->rchild;            }//endif            }//endwhile  }//#definemaxsize100typedefstruct{  BitreeElem[maxsize];  inttop;}SqStack;voidInOrderUnrec(Bitreet){  SqStacks;  StackInit(s);  p=t;  while(p!=null||!StackEmpty(s))  {      while(p!=null)        //遍历左子树      {        push(s,p);        p=p->lchild;      }//endwhile            if(!StackEmpty(s))      {        p=pop(s);        visite(p->data);      //访问根结点        p=p->rchild;        //通过下一次循环实现右子树遍历      }//endif      }//endwhile}//#definemaxsize100typedefenum{L,R}tagtype;typedefstruct{  Bitreeptr;  tagtypetag;}stacknode;typedefstruct{  stacknodeElem[maxsize];  inttop;}SqStack;voidPostOrderUnrec(Bitreet){  SqStacks;