求用C++表示二叉树 家谱

来源:百度知道 编辑:UC知道 时间:2024/05/03 00:35:53
请求代码
用二叉树实现家谱运算
设计要求:编写一个程序,采用一棵二叉树表示一个家谱关系。
具体要求:
(1) 文件操作功能:记录输入、记录输出、清除全部文件记录和将家谱记录存盘。
(2) 家谱操作功能:用括号表示法和凹入法输出家谱二叉树,并能查找某人所有的儿子,查找某人的所有祖先。

//是找所有的子孙吗?还是所有儿子
//这里写个所有子孙的吧,所有儿子更容易
void findChild( TreeNode *root, char *name, bool flag )
{
if( !root )
{
return ;
}
else if( !lstrcmp( root->name, name ) ) //找到某个人
{
flag = true;
}

if( flag )
{
cout<< root->name<<",";
}

findChild( root->leftChild, name, flag );
findChild( root->rightChild, name, flag );
}

void findParent( TreeNode *root, char *name, bool flag )
{
if( !root )
{
return false; <