| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 854 人关注过本帖
标题:二叉树非递归遍历算法
取消只看楼主 加入收藏
朔州小子
Rank: 1
等 级:新手上路
帖 子:6
专家分:2
注 册:2011-9-24
结帖率:0
收藏
已结贴  问题点数:20 回复次数:0 
二叉树非递归遍历算法
Status InOrderTracerse(BiTree T,Status (* Visit)(TElemType e)//中序二叉树非递归遍历
{
 InitStack(S); Push(S,T);
 while(!StackEmpty(s))
 {while(GetTop(S,p)&&p) Push(S,p->lchild);//向左走到尽头
  Pop(S,p);                              //空指针退栈
  if(!StackEmpty(S))                    //访问结点,向右一步
   {Pop(S,p);
    if(!Visit(p->data)) return ERROR;
    Push(S,p->rchild);
    }//if
  }//while
 return OK;
}//InOrderTraverse
算法中 if(!StackEmpty(S))有啥作用?为啥不省略?
搜索更多相关主题的帖子: return 二叉树 
2013-07-11 15:05
快速回复:二叉树非递归遍历算法
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024979 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved