| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 711 人关注过本帖
标题:麻烦哪位好心的大虾帮我看下这程序,求双胞胎和求独生子女的函数为什么用不 ...
只看楼主 加入收藏
sky351732466
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2005-11-8
收藏
 问题点数:0 回复次数:0 
麻烦哪位好心的大虾帮我看下这程序,求双胞胎和求独生子女的函数为什么用不了呢?

#include <stdio.h>
#include <stdlib.h>
#define OK 1
#define OVERFLOW -1
typedef int status;
typedef char TElemType;

//二叉树的二叉链表存储表示
typedef struct BiTNode{
TElemType data;
struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;
//按先序序列建立二叉树
status createbitree(BiTree &T){
TElemType ch;
ch=getchar();
if(ch=='#')T=NULL;
else {
if(!(T=(BiTNode *)malloc(sizeof(BiTNode)))) exit(OVERFLOW);
T->data=ch;
createbitree(T->lchild);
createbitree(T->rchild);
}
return OK;
}
//先序遍历二叉树
status preordertraverse(BiTree &T){
if(T){
printf("%c",T->data);
preordertraverse(T->lchild);
preordertraverse(T->rchild);
}
return OK;
}
//求二叉树中结点个数
status countnode(BiTree &T){
if(!T) return 0;
else return (1+countnode(T->lchild)+countnode(T->rchild));
}
//求独生子女数目
status countonlychild(BiTree &T){
if(!T || ((!T->lchild) && (!T->rchild)) || ((T->lchild) && (T->rchild))) return 0;
else return (1+countonlychild(T->lchild)+countonlychild(T->rchild));
}
//求双胞胎对数
status countchildren (BiTree &T){
if(!T||(!T->lchild||!T->rchild)) return 0;
else return (1+countchildren (T->lchild)+countchildren (T->rchild));
}


void main(){
BiTree T;
createbitree(T);
preordertraverse(T);
printf("\n%d\n",countnode(T));
printf("%d\n",countonlychild(T));
printf("%d\n",countchildren (T));
}



先谢了!

搜索更多相关主题的帖子: 独生子女 双胞胎 二叉树 函数 
2005-11-08 12:33
快速回复:麻烦哪位好心的大虾帮我看下这程序,求双胞胎和求独生子女的函数为什么 ...
数据加载中...
 
   



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

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