先序非递归遍历

//先序非递归遍历
void preorder(bitree *BST)
{
 bitree *p,*s[100];
 int top=0;
 p=BST;
 while((p!=NULL)||(top>0))
 {
  while(p!=NULL)
  {
   cout<<p->data<<" "<<endl;
   s[++top]=p;
     //  cout<<"the value of top is "<<top<<endl;
   p=p->lchild;
  }
   p=s[top--];   //注意TOP值的变化
   // cout<<"*******the value of top is "<<top<<endl;
   p=p->rchild;
 }
}

posted on 2006-12-03 09:13 snowhill 阅读(371) 评论(1)  编辑 收藏 引用 所属分类: data structure

评论

# re: 先序非递归遍历 2007-07-19 15:01 劲客

爱死你了,谢谢,哥们。  回复  更多评论   


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2006年12月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

导航

公告

又一年...........

留言簿(3)

随笔分类(13)

文章分类(131)

文章档案(124)

c++

java

linux

oracle

常用软件

其他

网络配置

系统安全

音乐

搜索

最新评论

阅读排行榜