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 + -
显示快捷键?