标题:二叉树的递归递归遍历有错误?
取消只看楼主
qq8801103
Rank: 5Rank: 5
来 自:苏州中科大软件学院
等 级:职业侠客
威 望:1
帖 子:422
专家分:340
注 册:2009-10-8
结帖率:73.96%
已结贴  问题点数:10 回复次数:0 
二叉树的递归递归遍历有错误?
#include<stdio.h>
#include<stdlib.h>
typedef struct BiTnode
{
     char data;
     struct bitnode *lchild,*rchild;
}BiTnode,*BiTree;
BiTree createtree()
{
    char a;BiTree root;
    scanf("%c",&a);
 fflush(stdin);
    if(a=='#')return NULL;
    else
 {
   root=(BiTnode *)malloc(sizeof(BiTnode));
         root->data=a;
         root->lchild=createtree();
         root->rchild=createtree();
 }
 return root;
}

void inorder(BiTree root)
{
 BiTree s[100];
 int top=0;
 while(root||top)
 {
  while(root)
  {
   s[++top]=root;root=root->lchild;
  }
  if(top)
  {
   putchar(s[top]->data);
   root=s[top--]->rchild;
  }
 }
}
void main()
{
 BiTree root=NULL;
 root=createtree();
 inorder(root);
 printf("\n");
}
搜索更多相关主题的帖子: 二叉树 遍历 递归 
2010-05-12 11:53



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-306318-1-1.html




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

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