sub15.cpp

来自「STRUCTURI DE DATE SI ALGORITMI」· C++ 代码 · 共 87 行

CPP
87
字号
#include"arboreb.cpp"

void inordine(Nod*& N);
int nrnod(Nod*& N);
char minim(Nod* N);
char maxim(Nod* N);
void sub(Nod* N);

void main()
{
Nod *rad;
clrscr();
rad=creareArbore();
printf("\nArborele parcurs in inordine : ");
inordine(rad);
printf("\nNr. de noduri : %d",nrnod(rad));
printf("\nNodul minim este : %c",minim(rad));
printf("\nNodurile care indeplinesc conditia (d) : ");
sub(rad);
getch();
}

void inordine(Nod*& N)
{
if(N!=0)
	{
	inordine(N->stg);
	printf(" %c",N->data);
	inordine(N->drt);
	}
}

int nr=0;
int nrnod(Nod*& N)
{
if(N!=0)
	{
	nr++;
	nrnod(N->stg);
	nrnod(N->drt);
	}
return(nr);
}


char min='z';
char temp1='z';
char minim(Nod* N)
{
if(N!=0)
	{
	temp1=N->data;
	if(temp1<min)
		min=temp1;
	minim(N->stg);
	minim(N->drt);
	}
return(min);
}

void sub(Nod* N)
{
if(N!=0)
	{
	if(maxim(N->stg)<N->data && maxim(N->drt)<N->data)
		printf(" %c",N->data);
	sub(N->stg);
	sub(N->drt);
	}
}

char maxim(Nod* N)
{
char max='A';
char s,d;
if(N!=0)
	{
	if(N->data>max)
		max=N->data;
	if((s=maxim(N->stg))>max)
		max=s;
	if((d=maxim(N->drt))>max)
		max=d;
	}
return(max);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?