Pages: [1]   Go Down
Print
Author Topic: Implementazione ricorsiva metodo cancellazione per sostituzione  (Read 965 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
vincenzo86
Forumista
***
Offline Offline

Gender: Male
Posts: 505



« on: 10-05-2009, 16:37:37 »

Come da oggetto, qualcuno lo ha implementato? Grazie
Logged
MiKKu
Apprendista Forumista
**
Offline Offline

Posts: 152



WWW
« Reply #1 on: 11-05-2009, 14:50:39 »

Come da oggetto, qualcuno lo ha implementato? Grazie

 

E cmq avevo già chiesto nella discussione "Alberi e metodi".
Io sto cercando di riuscirci...Spero di poter postare la soluzione funzionante  yoh
Logged

Soltanto l'ardente pazienza porterà al raggiungimento di una splendida felicità. - www.ilmercatinoitaliano.it
Alex_47
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 409


The spiral's King


« Reply #2 on: 11-05-2009, 16:37:47 »

Se vi può essere d'aiuto ho implementato la cancellazione ricorsiva con la fusione degli alberi

Code:
public int RicorCancella(int val)
{
Nodo nodo = root;
Nodo p = root;
Nodo prev = null;
return RicorCancella(val,nodo,p,prev);


public int RicorCancella(int val , Nodo nodo , Nodo p , Nodo prev)
{
if(p != null && p.key != val)
{

if (val < p.key) RicorCancella(val,nodo,p.left,p);
else
{
RicorCancella(val,nodo,p.right,p);
}
}
nodo = p;
if (p != null && p.key == val)
{
if (nodo.right == null) nodo=nodo.left;
else if (nodo.left == null) nodo = nodo.right;
else
{
Nodo tmp = nodo.left;
nodo =  RicorFondi(tmp,nodo);
}

if (p == root) root = nodo;
else if (prev.left == p) prev.left = nodo;
else prev.right = nodo;
return 0;
}

return 0;


}

public Nodo RicorFondi(Nodo tmp, Nodo nodo)
{
if(tmp.right != null)
{
RicorFondi(tmp.right,nodo);
}

tmp.right = nodo.right;

return nodo.left;
}


Logged
MiKKu
Apprendista Forumista
**
Offline Offline

Posts: 152



WWW
« Reply #3 on: 11-05-2009, 17:44:44 »

Ti ringrazio moltissimo 
Logged

Soltanto l'ardente pazienza porterà al raggiungimento di una splendida felicità. - www.ilmercatinoitaliano.it
Pages: [1]   Go Up
Print
Jump to: