| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 888 人关注过本帖
标题:改有错误的程序
取消只看楼主 加入收藏
xy2bl
Rank: 1
等 级:新手上路
帖 子:61
专家分:2
注 册:2010-12-2
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
改有错误的程序
#include "stdio.h"
#include"stdlib.h"
typedef char TElemType;

typedef struct bitree{
    TElemType data;
    struct bitree *lchild,*rchild;
}BiTNode,*BiTree;

BiTree Create_Tree(){
    BiTree T;
    char a;
    scanf("%s",&a);
    if(a=='#') T=NULL;
    else{
    T=(BiTNode*)malloc(sizeof(BiTNode));
    T->data=a;
    printf("输入左孩子的值\n");
    T->lchild=Create_Tree();
    printf("输入右孩子的值\n");
    T->rchild=Create_Tree();
    }
    return T;
   
}
Status PreOrderTraverse(BiTree T,Status( * Visit)(TElemType e))
{
if(T!=NULL){
   if(Visit(T->data))
      if(PreOrderTraverse(T->lchild,Visit))
         if( PreOrderTraverse(T->rchild,Visit))
         return 0;
}else return 1;  
}
Status PrintElement(TElemType e)
{printf(e);
    return 1;
}   
void InOrderTraverse(BiTree T){
    if(T!=NULL){
        InOrderTraverse(T->lchild);
        Printf("%c_  ",T->data);
        InOrderTraverse(T->rchild);}
}
void PostOrderTraverse(BiTree T){
    if(T!=NULL){
        PostOrderTraverse(T->lchild);        
        PostOrderTraverse(T->rchild);
        Printf("%c_  ",T->data);}
   
}
void LevelOrder(BTNode *bt) /*层次遍历二叉树bt*/   
    { BTNode* queue[MAXSIZE];
      int front,rear;
      if (bt==NULL) return;
      front=0;      /*非循环队列*/
      rear=0;
      queue[rear++]=bt;
      while(front!=rear)
          {printf("%c",queue[front]->cdata);        /*访问队首结点的数据域*/
             if (queue[front]->lchild!=NULL)   /*将队首结点的左孩子指针入队列*/
             {  queue[rear]=queue[front]->lchild;rear++;
             }
            if (queue[front]->rchild!=NULL)   /*将队首结点的右孩子指针入队列*/
            {  queue[rear]=queue[front]->rchild; rear++;
         }
      front++;
   } /* while */
}/* LevelOrder*/
main(){
    BiTree root;
    root=Create_Tree();
    printf("\n先序遍历");
    PreOrderTraverse(root);
    printf("\n中序遍历");
    InOrderTraverse(root);
    printf("\n后序遍历");
    PostOrderTraverse(root);
    printf("\n层次遍历");
    PostOrderTraverse(root);
   
    }
此程序有几处错误,帮我改改
搜索更多相关主题的帖子: include return 
2010-12-08 22:45
xy2bl
Rank: 1
等 级:新手上路
帖 子:61
专家分:2
注 册:2010-12-2
收藏
得分:0 
就是二叉树遍历
2010-12-08 22:50
xy2bl
Rank: 1
等 级:新手上路
帖 子:61
专家分:2
注 册:2010-12-2
收藏
得分:0 
伟大的斑竹呢
2010-12-08 22:51
xy2bl
Rank: 1
等 级:新手上路
帖 子:61
专家分:2
注 册:2010-12-2
收藏
得分:0 
怎么没人啊呢
2010-12-09 08:35
xy2bl
Rank: 1
等 级:新手上路
帖 子:61
专家分:2
注 册:2010-12-2
收藏
得分:0 
求助版主
2010-12-09 08:53
xy2bl
Rank: 1
等 级:新手上路
帖 子:61
专家分:2
注 册:2010-12-2
收藏
得分:0 
版主,你太有才了,谢了
2010-12-09 12:55
xy2bl
Rank: 1
等 级:新手上路
帖 子:61
专家分:2
注 册:2010-12-2
收藏
得分:0 
版主啊,我的先序要递归遍历
2010-12-09 22:04
快速回复:改有错误的程序
数据加载中...
 
   



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

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