• 大小: 3KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-05-18
  • 语言: C/C++
  • 标签: 结点  双亲  

资源简介

采用先序法建立一棵二叉树,设计输出某结点数据为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==‘#‘)

评论

共有 条评论