永发信息网

建立一棵二叉排序树,统计元素的个数,求代码

答案:1  悬赏:30  手机版
解决时间 2021-05-23 05:21
建立一棵二叉排序树,统计元素的个数,求C语言程序代码
最佳答案
这是我自己写的:


#include <stdio.h>
#include <stdlib.h>

typedef struct _btree {
int v;
struct _btree* l;
struct _btree* r;
}**btree, *node;


node Insert(btree r, int v)
{
node t, p, n;
t = (node)malloc(sizeof(struct _btree)) ;
t->v = v;
t->l = t->r = NULL;

p = NULL, n = *r;
while(n) {
p = n;
n = v < n->v ? n->l : n->r;
}
if (p) {
if (v < p->v) {
p->l = t;
} else {
p->r = t;
}
} else {
*r = t;
}
return t;
}

node Create(int* beg, int* end)
{
node root;
root = NULL;
while(beg != end)
Insert(&root, *beg++);
return root;
}

int Count( node root )
{
int l, r;
if ( root ) {
l = Count( root->l );
r = Count( root->r );
return l + r + 1;
} else {
return 0;
}
}

int main()
{
int a[] = { 6,1,3,5,4,2 };
node root;
root = Create(a, a + 6);
printf( "nodes: %d\n", Count( root ) );
return 0;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我想买部车可不知道该买什么车好,大家来点意
达州市宣汉县柳池镇怎么去啊,有知道地址的么
我35级了杂没有阿法利呀的图啊 天围的任务我
怎么看电脑的使用记录,怎样看电脑的操作记录
苹果机IBOOK G4 软件在那下载
下列物质中不是合成物质的有:A 塑料 B 原子
诺基亚自带的赛车游戏可以下载吗
QQ堂的等级总共有哪些?
地震时为什么电话打不通?
到底应该怎样做人?
皮肤被烫伤了怎么办?
描写夏天的儿童诗,完整的.[要有诗名,要完整]
是的反义词是是什么,愤怒反义词是什么
金立L6如何下载300k以上的MP3歌曲?
夏天洗凉水澡和冬天洗有什么不一样!
推荐资讯
梦幻西游为什么我合出来的BB有些是0级,有些
英语翻译本期的城市话题就是让所有医生都束手
送奶奶什么礼物最合适,徒弟给师父送什么礼物
冰皮月饼什么馅最好吃,什么牌子月饼最好吃?
惠普dv2804笔记本
刘德华最近的歌曲是什么?
华西航空旅游学校曲靖分校到底可不可靠??流
加工坊能邀请吗
南开大学有COS么 求,本人没有任何资本,能进么
安徽淮北西园中学初三历史教研组的名单谁知道
古典吉他第六品位的旋为何弹一会就要调一下
薛之轩唱德比较优雅好听德是那几首歌吖?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?