| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 414 人关注过本帖
标题:请教一下这个为什么无法生成
取消只看楼主 加入收藏
weiziyi0530
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2012-11-16
结帖率:100%
收藏
已结贴  问题点数:16 回复次数:1 
请教一下这个为什么无法生成
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>

#define OK 1
#define OVERFLOW -2
#define ERROR -1

#define  MAX_TREE_SIZE  100                    // 二叉树的最大结点数
 typedef int  SqBiTree[MAX_TREE_SIZE];                 // 0号单元存储根结点
 SqBiTree  bt; typedef struct BiTNode{     char data;   
 struct BiTNode *lchild,*rchild;//左右孩子指针 }BiTNode,*BiTree;
//先序建立二叉树
int CreateBiTree(BiTree &T){   
  //按先序次序输入二叉树中结点的值(一个字符),空格字符表示空树   
 //构造二叉链表表示的二叉树T   
  char ch;   
  scanf(&ch);  
   if(ch=='0')  T=NULL;   
  else{   
     if(!(T=(BiTNode *)malloc(sizeof(BiTNode))))           exit(OVERFLOW);      
   T->data=ch;   
     CreateBiTree(T->lchild );//构造左子树     
    CreateBiTree(T->rchild );//构造右子树     }   
  return OK; }
 int PreOrderTraverse(BiTree T,int(*Visit)(char e)){   
  //采用二叉链表存储结构,Visit是对数据元素操作的应用函数   
 //先序遍历二叉树T的递归算法,对每个数据元素调用函数Visit   
  if(T){         if(Visit(T->data ))            
 if(PreOrderTraverse(T->lchild ,Visit))         
       if(PreOrderTraverse(T->rchild ,Visit))
  return OK;         
return ERROR;     }else return OK; }
//显示
 int PrintElement(char e){   
 printf("%c\n",e);
 return OK; }
 int main(){   
 BiTNode *T;   
 CreateBiTree(T);  
   PreOrderTraverse(T,PrintElement);  
   return 0; }
搜索更多相关主题的帖子: 存储 include 二叉树 
2012-11-20 21:19
weiziyi0530
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2012-11-16
收藏
得分:0 
回复 4楼 zhu224039
恩恩 我才开始学  正在努力中
2012-11-21 20:26
快速回复:请教一下这个为什么无法生成
数据加载中...
 
   



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

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