永发信息网

用C语言编程(对二叉树的操作)

答案:2  悬赏:0  手机版
解决时间 2021-04-24 19:19

(1) 建立一棵含有n个结点的二叉树,采用二叉链表存储;

(2) 前序(或中序、后序)遍历该二叉树。

最佳答案

struct bitree


{


int value;


bitree left;


bitree right;


}


void bianli(bitree bt)


{


cout《《bt。value;


banli(bt。left);


bianli(bt.right);


}

全部回答
这也是我以前写的,改了几处: #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(_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; } return (p ? v < p->v ? p->l : p->r : *r) = t; } // 简单从数组构造一棵树 node create(int* beg, int* end) { node root; root = NULL; while(beg != end) insert(&root, *beg++); return root; } // 中序遍历 void inorder(node root) { if(root) { inorder(root->l); printf("%d ", root->v); inorder(root->r); } } // 销毁二叉树,释放内存 void destruct(node root) { if(root) { destruct(root->l); destruct(root->r); free(root); } } int main() { int a[] = { 9,3,8,2,1,6,7,4,5,0 }; node root; root = create(a, a + 10); inorder(root); destruct(root); return 0; }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
上海哪儿有NIKE涂鸦鞋卖?
怎么更换笔记本电脑显卡
星象仪的歌词
朱丽萍,写首诗
qq聊天中的远程协助怎么用
幼鹰吃什么食物,老鹰幼崽怎么养?
我是油性皮肤,脸上老长红痘.有时有白色小点.
长嘴鄂应该多久喂一次啊?
各位友友:用笔记本电脑上移动随e行查看实时
湖南电信天翼3G手机
我想在找几个能提供OEM注塑服务的工厂,能加
您好:怎么才能讨回我的欠款?
加半夜帮忙拉动物的牧友
如何去大使馆工作,高人指点怎么进领事馆工作
一个人的头发有多少条?
推荐资讯
给我推荐几套情侣秀,谢谢啦。
乌克兰利沃夫国立音乐学院怎么样?
电脑屏幕为什么会卡住?
我爱上了一个结婚的女人怎么办?
诺基亚6710N怎么样,现在价钱多少?N81现在价
二分之一(x-1)=2-五分之一(x+2) 的答案
小腿被排气管烫伤了,已经把浓泡弄破了,擦什
谁知道这个是那个动漫?的人- -急
在哪里可以办理汽车驾驶上岗证
娱乐里现在当红的明星有谁是口齿不清的?
怎麽做才能改掉人的坏脾气呢
电脑突然被袭击怎么办
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?