
int kovetkezo=1; 	/*a kovetkezo bejarando csomopont*/
int kiosztott=1;	/*a legnagyobb kiosztott sorszam*/
struct binaris* seged;

int melysegi_bejaras(struct binaris *m)
{
	seged=m->bal;
	if (seged && (seged->szamozas == 0))				/*megnezzük, hogy van-e bal gyerek, és hogy jártunk-e már ott*/
	{								
		seged->szamozas = ++kiosztott;				/*ha nem akkor megtesszük*/
		kovetkezo = kiosztott;					/*beállítjuk a következő meglátogattandót*/
		melysegi_bejaras(seged);				/*majd oda megyunk*/	
	}
	else
	{
		seged=m->jobb;
		if (seged && (seged->szamozas == 0))			/*megnezzük, hogy van-e jobb gyerek, és hogy jártunk-e már ott*/
		{								
			seged->szamozas = ++kiosztott;			/*ha nem akkor megtesszük*/
			kovetkezo = kiosztott;				/*beállítjuk a következő meglátogattandót*/
			melysegi_bejaras(seged);			/*majd oda megyunk*/
		}
	}

	if (kovetkezo == 1)						/*már mindenhol jártunk*/
	{
		return 0;						/*ezért vége van*/
	}
	else 
	{
		seged = m->szulo;			
		kovetkezo = seged->szamozas;
		melysegi_bejaras(seged);				/*még nem jártunk mindenhol, ezért megyünk tovább*/
	}	

	return 0;
} 