예제 #1
0
int main()
{
	S=stivaVida();
	Q=coadaVida();
	
	push(3);
	push(5);
	push(7);
	afisares(S);

	printf("\n%d\n",top());
	pop();
	pop();
	afisares(S);

	printf("\n%d\n",top());
	pop();
	afisares(S);
	

	insereaza(3);
	insereaza(5);
	insereaza(7);
	afisareq(Q);

	
	printf("\n%d\n",citeste());
	elimina();
	afisareq(Q);
	
	printf("\n%d\n",citeste());
	elimina();
	afisareq(Q);

	insereaza(9);
	afisareq(Q);

	elimina();
	elimina();
	afisareq(Q);
	

	system("pause");
	return 0;
}
예제 #2
0
int _tmain(int argc, _TCHAR* argv[])
{
	arb *rad;
	int h = 0, level = 0, search = 0;
	FILE *f  = fopen("arb.txt", "r");
	rad = (arb *)malloc(sizeof(arb));
	citeste(f, *&rad);

	cout<<"PREORDINE: ";
	preordine(rad);
	cout<<endl<<endl;

	cout<<"INORDINE: ";
	inordine(rad);
	cout<<endl<<endl;

	cout<<"POSTORDINE: ";
	postordine(rad);
	cout<<endl<<endl;

	cout<<"FRUNZE: ";
	frunze(rad);
	cout<<endl<<endl;

	cout<<"INALTIME: ";	
	inaltime(rad, h, 0);
	cout<<h<<" (radacina fiind pe nivelul 0)"<<endl<<endl;
	
	cout<<"ALEGE NIVELUL PE CARE VREI SA-L AFISEZI:";
	cin>>level;
	cout<<"PE NIVELUL "<<level<<" SE GASESC NODURILE:";
	afisareNivel(rad, level, 0);
	cout<<endl<<endl;
	
	free(rad);

	f  = fopen("sir.txt", "r");
	rad = (arb *)malloc(sizeof(arb));
	rad->val = NULL;rad->st = NULL;rad->dr = NULL;
	cout<<"SIRUL CITIT: ";
	citesteArboreBinar(f, *&rad);
	cout<<endl<<"INTRODUCETI NUMARUL CAUTAT:";
	cin>>search;
	level = cautaNumar(rad, search, 0);
	if(level == -1)
	{
		cout<<"NUMARUL NU A FOST GASIT"<<endl;
	}
	else 
	{
		cout<<"NUMARUL A FOST GASIT PE NIVELUL "<<level<<endl;
	}

	free(rad);
	return 0;
}
예제 #3
0
//===============CITIRE DIN FISIER A ARBORELUI=================
void citeste(FILE *f, arb* &r)
{
	if(!feof(f))
	{
		int x = 0;
		fscanf(f, "%d", &x);
		if(x != -1)
		{
			r = (arb *)malloc(sizeof(arb));
			r->val = x;
			citeste(f, r->st);
			citeste(f, r->dr);
		}
		else
		{
			r = NULL;
		}
	}
}