实验5 二叉树
#include <iostream.h>
const int MaxSize=11;
class tree{
public:
void in(char b[]);
void P();
void PC();
void JD();
private:
char a[MaxSize];
};
void tree::in(char b[]){
for(int i=0;i<MaxSize;i++)
a[i]=b[i];
}
void tree::P()
{
for(int i=0;i<MaxSize;i++)
cout<<a[i]<<" ";
cout<<endl;
}
void tree::PC()
{
for(int i=1;i<MaxSize/2+1;i++)
cout<<a[i-1]<<"的孩子是:"<<a[2*i-1]<<"和"<<a[2*i]<<endl;
for(int j=2;j<=MaxSize;j++)
cout<<a[j-1]<<"的双亲是:"<<a[j/2-1]<<endl;
}
void tree::JD()
{
for(int k=MaxSize/2+1;k<=MaxSize;k++)
cout<<a[k-1]<<"的双亲是:"<<a[k/2-1]<<endl;
}
void main()
{
tree T;
char t[11]={'A','B','C','D','E','F','G','H','I','J','K'} ;
T.in(t);
cout<<"树的层序输出:"<<endl;
T.P();
cout<<"结点的的双亲和孩子:"<<endl;
T.PC();
cout<<"该树的叶子结点信息:"<<endl;
T.JD();
const int MaxSize=11;
class tree{
public:
void in(char b[]);
void P();
void PC();
void JD();
private:
char a[MaxSize];
};
void tree::in(char b[]){
for(int i=0;i<MaxSize;i++)
a[i]=b[i];
}
void tree::P()
{
for(int i=0;i<MaxSize;i++)
cout<<a[i]<<" ";
cout<<endl;
}
void tree::PC()
{
for(int i=1;i<MaxSize/2+1;i++)
cout<<a[i-1]<<"的孩子是:"<<a[2*i-1]<<"和"<<a[2*i]<<endl;
for(int j=2;j<=MaxSize;j++)
cout<<a[j-1]<<"的双亲是:"<<a[j/2-1]<<endl;
}
void tree::JD()
{
for(int k=MaxSize/2+1;k<=MaxSize;k++)
cout<<a[k-1]<<"的双亲是:"<<a[k/2-1]<<endl;
}
void main()
{
tree T;
char t[11]={'A','B','C','D','E','F','G','H','I','J','K'} ;
T.in(t);
cout<<"树的层序输出:"<<endl;
T.P();
cout<<"结点的的双亲和孩子:"<<endl;
T.PC();
cout<<"该树的叶子结点信息:"<<endl;
T.JD();
}