实验四 二叉树
#include<iostream.h>
class Tree
{
public:
Tree(int a[],int n);
Tree();
~Tree(){};
void LeverOrder();
int Parents();
int Child();
int Leaf();
private:
int data[7];
};
Tree::Tree(int a[],int n)
{ for(int i=0;i<=n;i++)
data[i]=a[i];}
void Tree::LeverOrder()
{
cout<<"层序遍历数据为"<<endl;
for(int i=0;i<7;i++)
{cout<<data[i]<<endl;}
}
int Tree::Parents()
{
for(int i=2;i<=7;i++)
{if(i%2==0)
cout<<"序号为"<<i<<"双亲序号为"<<i/2<<endl;
else
cout<<"序号为"<<i<<"双亲序号为"<<(i-1)/2<<endl;
}
}
int Tree::Child()
{ for(int i=1;i<=3;i++)
{cout<<"序号为"<<i<<"孩子序号为"<<i*2<<","<<i*2+1<<endl; }}
int Tree::Leaf()
{
cout<<"叶子数据为"<<endl;
for(int i=3;i<7;i++)
{cout<<data[i]<<endl;}
}
int main()
{ int a[7]={5,7,9,2,6,8,4};
Tree t(a,7);
t.LeverOrder();
t.Parents();
t.Child();
t.Leaf();
class Tree
{
public:
Tree(int a[],int n);
Tree();
~Tree(){};
void LeverOrder();
int Parents();
int Child();
int Leaf();
private:
int data[7];
};
Tree::Tree(int a[],int n)
{ for(int i=0;i<=n;i++)
data[i]=a[i];}
void Tree::LeverOrder()
{
cout<<"层序遍历数据为"<<endl;
for(int i=0;i<7;i++)
{cout<<data[i]<<endl;}
}
int Tree::Parents()
{
for(int i=2;i<=7;i++)
{if(i%2==0)
cout<<"序号为"<<i<<"双亲序号为"<<i/2<<endl;
else
cout<<"序号为"<<i<<"双亲序号为"<<(i-1)/2<<endl;
}
}
int Tree::Child()
{ for(int i=1;i<=3;i++)
{cout<<"序号为"<<i<<"孩子序号为"<<i*2<<","<<i*2+1<<endl; }}
int Tree::Leaf()
{
cout<<"叶子数据为"<<endl;
for(int i=3;i<7;i++)
{cout<<data[i]<<endl;}
}
int main()
{ int a[7]={5,7,9,2,6,8,4};
Tree t(a,7);
t.LeverOrder();
t.Parents();
t.Child();
t.Leaf();
return 0; }