问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

我写的一个用先序输入创建二叉树,然后用后序遍历二叉树的代码。结果创建成功,却在遍历时,说内存有问题。

发布网友 发布时间:2022-05-24 09:29

我来回答

1个回答

热心网友 时间:2023-10-09 21:58

楼主掉入了指针传值陷阱。
createabitree(bitree *t)虽然传入的是指针,但指针变量本身也是传值进来的,即当函数返回时,原来的指针不改变。例如:
bitree* p=NULL;
createabitree(p);
结束后指针p仍然是NULL;

有两种改法。
1. 用指针的指针
bitree* createabitree(bitree **t)
{
char c;
scanf("%c",&c);
if(c==' ') *t=NULL;
else
{*t=(bitree*)malloc(sizeof(bitree));
(*t)->data=c;
createabitree(&(*t)->left);
createabitree(&(*t)->right);
}
return *t;
}

main()
{
bitree *a,*b;
createabitree(&a);
postorder(a);
deletetree(a); /*楼主应该加这个函数释放内存*/
}

2. 利用返回值
bitree* createabitree(bitree *t)
{char c;
scanf("%c",&c);
if(c==' ') t=NULL;
else
{t=(bitree*)malloc(sizeof(bitree));
t->data=c;
t->left = createabitree(t->left);
t->right = createabitree(t->right);
}
return t;
}

main()
{bitree *a,*b;
a = createabitree(a);
postorder(a);
deletetree(a); /*楼主应该加这个函数释放内存*/
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
怎么网页突然自动关闭 网页为什么会突然自动关闭 网页自动关闭什么原因 怎么在微信里面自己组建群聊 门开在东南角,北面中间有窗,办公桌如何摆放 请推荐一款app导航系统,地图信息准确,界面友好,主要用于在境外... 急求一款app导航系统,地图信息准确,界面别太多杂乱的东西,主要用在境外... 欠了闪银3600,逾期125天,今天算了下,差不多要还6000,不还会怎么样?_百 ... 怎么进出口货物老被查验,难道被盯上了?海关是如何查验的,海关查验... 来料加工海关会查什么 外贸知识:海关查验详解 如何遍历结构体 c#在内存中保存多个字典实例影响性能大还是只保留一个,然后每次取的时候遍历字典对性能影响大? 二叉树遍历内存无法读取 如何所用的计算机的内存为1G,现在想对一个2G的文件进行搜索遍历,该如何处理? 哪位大神有FastMemoryTraversal(内存遍历工具) V1.0 免费版软件百度云资源 遍历内存是什么意思 蒌的读音是什么 蒌能组什么词 中学学科网 网校通用户名密码,不限IP地址的? 我想下一些资料\\O(∩_∩)O谢谢 学科网网校通账号谁有???用一下有重谢 求学科网高端网校通账号及密码 百度输入法有韩文输入法吗 有韩语输入法吗 有没有韩语输入法? 有直接输入韩语的输入法么 画江湖之不良人李星云是什么身份 《不良人》假李星云身世是什么? 《不良人》第五季李星云去哪了? 《不良人》李星云是谁的儿子? uc浏览器如何唤出开发人员工具 Android中 遍历SD根目录 如果发现XXX文件 则把这个文件拷贝到内存中 求代码得思路或者框架 内存回收线程不能释放内存对象 鼠笼灭鼠怎么观察鼠道呢? F(x)水晶说世勋给她买紫菜包饭是什么节目,要视频 金贤重有一个镜头是在吃紫菜包饭的材料,请问是在什么节目中? 谁能知道我紫菜包饭的详细做法?谢谢! 怎样分辨红白金刚滕 金刚滕可以烧酒吗 经期可以喝金刚滕吗 肾衰竭可以饮金刚滕吗? 吃金刚滕期间能吃荔枝吗? 我服用金刚滕胶囊2瓶这两天我发现口水多了好像是咸味怎么回事?要紧吗? 十六岁女孩子可以吃金刚滕吗 马尾决可和金刚滕泡酒吗? 金刚滕胶襄是中药还是西药,饭前还是后吃 叶片和金刚滕一样但没有刺的是什么植物? 金刚滕和感冒清热颗粒能不能一起吃 金刚滕颗粒同气血和胶囊一起吃吗 教资69分是真的差一分吗? 金刚腾能跟他莫昔芬一起吃吗