Witam ! mam problem z funkcją dodającą liczby do drzewa BST, napisałem to na podstawie pseudokodu z książki ale coś nie działa tak jak powinoo :(
struct vertex
{
vertex *lewy,*prawy;
int val;
}root;
void dodaj(int war)
{
vertex *x=&root,*nowy=new vertex,*y;
nowy->val=war;
while(x!=NULL)
{
y=x;
if( war < (x->val) )
x=x->lewy;
else
x=x->prawy;
}
if(y==NULL)
{
printf ("\nDodajemy do roota %d",war);
root.val=nowy->val;
}
else
if(nowy->val < y->val)
{
y->lewy=nowy;
printf ("\nDodajemy na lewo ");
}
else
{
y->prawy=nowy;
printf ("\nDodajemy na prawo");
}
}
z góry dziękuje za pomoc ;-)