资源简介
采用先序法建立一棵二叉树,设计输出某结点数据为x的双亲结点的数据的程序,二叉树的数据域类型为字符型,
扩展二叉树的叶子结点用‘#’表示,要求可以求一棵二叉树中多个结点的双亲。
代码片段和文件信息
/*379.输出某结点的双亲结点
题目描述:
采用先序法建立一棵二叉树,设计输出某结点数据为x的双亲结点的数据的程序,二叉树的数据域类型为字符型,
扩展二叉树的叶子结点用‘#’表示,要求可以求一棵二叉树中多个结点的双亲。
-----------------------------------------------------------------------------
输入样例:
A B # # C D # E # F # # G H # I K # # # #
B
C
D
G
H
E
F
I
K
A
-------------------------------------------------------------------------------
输出样例:
A
A
C
C
G
D
E
H
I
None
--------------------------------------------------------------------------------
输入描述:
输入一棵二叉树的先序遍历序列,占一行,以回车结束,二叉树中结点之间以空格隔开
接下来若干行输入要找双亲结点的某个结点的数据值,每个结点一行
--------------------------------------------------------------------------------
输出描述:
输出结点的双亲结点,每次输出后面都换行,当结点无双亲时,输出“None”,程序结束*/
#include
using namespace std;
struct binode
{
char data;
binode *lchild*rchild;
};
binode *p=NULL;
class bitree
{
public:
bitree(){root=creat(root);}
void parent(binode *btchar x);
binode *root;
private:
binode *creat(binode *bt);
};
void bitree::parent(binode *btchar x)
{
if(bt)
{
if(bt->data==x)
{
cout<data< return;
}
else
{
p=bt;
parent(bt->lchildx);
p=bt;/////为什么不加这一个提交上去就是错误的呢
parent(bt->rchildx);
}
}
}
binode*bitree::creat(binode *bt)
{ char ch;
cin>>ch;
if(ch==‘#‘)
- 上一篇:C++网络聊天室程序
- 下一篇:偏序关系的哈斯图求解
评论
共有 条评论