社区
C++ 语言
帖子详情
用C语言写··
jw634595253
2010-10-28 09:46:42
用算法实现删除所有以元素x为根的子树 急!!!
...全文
119
5
打赏
收藏
用C语言写··
用算法实现删除所有以元素x为根的子树 急!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jefferyyangkai
2010-11-01
打赏
举报
回复
#include<iostream>
#include<conio.h>
#include<string>
using namespace std;
struct tree
{
tree *leftTree;
tree *rightTree;
int num;
};
//生成一棵树,返回树的头指针
tree *initTree()
{
return NULL ;
}
//递归的调用删除左右子树
void delTree(tree *head)
{
if (head==NULL)
{
return;
}
if (head->leftTree!=NULL)
{
delTree(head->leftTree);
delete head->leftTree;
}
if (head->rightTree!=NULL)
{
delTree(head->rightTree);
delete head->rightTree;
}
}
//传入头指针和要找的int值,递归调用这个函数自己,
tree *findAndDel(tree *head,int tarNum)
{
if (head==NULL)
{
return NULL;
}
if (head->num==tarNum)//找到了,删除头指针的所有子树
{
return head;
delTree(head);
}
else//没找到,广度优先继续需找
{
if (head->leftTree!=NULL)findAndDel(head->leftTree,tarNum);
if (head->rightTree!=NULL)findAndDel(head->rightTree,tarNum);
}
}
int main()
{
tree *head= initTree();
int i;
cin>>i;
head=findAndDel(head,i);
}
modyaj
2010-10-28
打赏
举报
回复
先比较树根中的数和x相等不 相等就删除 后面的就没机会考虑了 否者就递归 就算树中有很多x 也最多只删除两次 就是左边一次右边一次
AlanBruce
2010-10-28
打赏
举报
回复
看看。。
jw634595253
2010-10-28
打赏
举报
回复
用编程写出来好吗?我知道意思,但具体编程不会啊····
jefferyyangkai
2010-10-28
打赏
举报
回复
这个用广度优先遍历+对左右子树的递归调用就可以了。
用
C语言
编
写
正态分布函数
用
C语言
编
写
正态分布函数,一个用
C语言
实现正态分布的例子。
C语言
参考手册第五版【中文版】
1、
c语言
具有语法简洁的特点,相信用过其他语言的人都知道 2、 运算符丰富,让我有时侯都分不清 3、 数据结构类型丰富 4、 结构化,就是想一小块一... 6、 功能强大,现在诸如nuix这样的操作系统就是用
c语言
写
的
用
c语言
写
出一个金字塔
如何用
c语言
写
出一个金字塔
自己用
C语言
写
的操作系统,还不错
初中生的我用
C语言
写
了个小系统,内附网盘链接!
如何用
c语言
读文件,如何用
C语言
读
写
文件
c语言
读
写
文件程序:#include "stdio.h"#include main(){FILE *fp1;//定义文件流指针,用于打开读取的文件FILE *fp2;//定义文件流指针,用于打开
写
操作的文件char text[1024];//定义一个字符串数组,用于存储读取的...
C++ 语言
64,647
社区成员
250,476
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章