sub12.cpp
来自「STRUCTURI DE DATE SI ALGORITMI」· C++ 代码 · 共 96 行
CPP
96 行
#include"arboreb.cpp"
void inordine(Nod*& N);
int adinc(Nod*& N);
char lit(Nod*& N);
int testheap(Nod*& N);
void main()
{
Nod *rad;
clrscr();
rad=creareArbore();
printf("\nArborele parcurs in inordine : ");
inordine(rad);
printf("\nAdincimea : %d",adinc(rad));
printf("\nLitera cea mai mare : %c",lit(rad));
if(testheap(rad)==1)
printf("\nArborele ESTE HEAP!");
else
printf("\nArborele NU este HEAP!");
getch();
}
void inordine(Nod*& N)
{
if(N!=0)
{
inordine(N->stg);
printf(" %c",N->data);
inordine(N->drt);
}
}
int max=1;
int t=1;
int adinc(Nod *& N)
{
while(N->data!=0)
{
if(N->stg!=0)
{
t++;
adinc(N->stg);
if(t>max)
max=t;
}
else
if(N->drt!=0)
{
t++;
adinc(N->stg);
if(t>max)
max=t;
}
return(max);
}
}
char litmax='A';
char temp='A';
char lit(Nod*& N)
{
if(N->data!=0)
{
temp=N->data;
if(temp>litmax)
litmax=temp;
if(N->stg!=0)
lit(N->stg);
if(N->drt!=0)
lit(N->drt);
}
return(litmax);
}
int testheap(Nod*& N)
{
if(N->data!=0)
{
if(N->data>N->stg->data)
testheap(N->stg);
else
return(0);
if(N->data>N->drt->data)
testheap(N->drt);
else
return(0);
return(1);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?