/*
*双亲法创建二叉树
*建立双亲节点
*创建数据节点
*创建一维数组
*输入数据
*查找指定节点的双亲在数组中的位置
*返回指点节点的在数组中的位置
*/
#include<stdio.h>
#include<stdlib.h>
#define MAXSIZE 100 //一维数组的大小
//typedef int element;
static char name='A';
typedef struct ptreenode
{
char name;
int parent;//双亲节点下标
}PtreeNode;//数据结构体
typedef struct ptree
{
PtreeNode data[MAXSIZE];
int r;//根节点在数组中的小标
int n;//数组中根节点的数目
}PTree;//总的数据结构体
PTree*creatptree(int n);//二叉树的双亲表示法的创建
void printptree(PTree*p);//遍历出二叉树 (层序遍历)
int research_ptree(PTree*p,char x);//查找指定数据在数组中的位置
PtreeNode getdataptree(PTree*p,char x);//返回指定数据的双亲数据结构体
void main()
{
PTree*p;
int n;
char x='B';//为什么不能动态赋值
char y='E';
PtreeNode result;//节点数据结构体
printf("请输入要输入的节点个数;\n");
scanf("%d",&n);
p=creatptree(n);
if(p==NULL)
printf("树创建失败:\n&#