Salve per esercizio sto cercando di implementare un albero binario,(premessa è la prima volta) ottengo un nullpointerException al metodo di visitaIterativaDfs ,nella classe AlberoBin chi mi aiuta??
codice:public class NodoBin { private int dato; private NodoBin figlioSx; private NodoBin figlioDx; NodoBin(int d) { figlioDx=null; figlioSx=null; dato=d; } public void inserimNodoInterno(int val){ if(val<=dato) { if(figlioSx!=null) figlioSx.inserimNodoInterno(val); else figlioSx = new NodoBin(val); } else{ if(figlioDx!=null) figlioDx.inserimNodoInterno(val); else figlioDx = new NodoBin(val); } } public void stampaNodo( ){ System.out.println("ecco il dato "+dato); if(figlioSx!=null) figlioSx.stampaNodo(); if(figlioDx!=null) figlioDx.stampaNodo(); } public int getDato() { return dato; } public NodoBin getFiglioDx() { return figlioDx; } public NodoBin getFiglioSx() { return figlioSx; } } public class AlberoBin { private NodoBin radice; private LinkedList<NodoBin> visitatiPILA; //per DFS public AlberoBin() { radice=null; visitatiPILA=null; } public boolean alberoVuoto(){ if(radice ==null)return true; return false; } public void insNodo(int v){ if( alberoVuoto() ) radice = new NodoBin(v); else radice.inserimNodoInterno(v); } public void stampaNodi(){ if( alberoVuoto() ) return ; radice.stampaNodo(); } public void visitaIterativaDFS(){ visitatiPILA.add(radice); while(! visitatiPILA.isEmpty()){///////nullPointerException NodoBin nodoPrelevato= visitatiPILA.pop(); if(nodoPrelevato!= null) System.out.println( "valutazione del nodo"+ nodoPrelevato.getDato() ); visitatiPILA.push(nodoPrelevato.getFiglioSx()); visitatiPILA.push(nodoPrelevato.getFiglioDx()); } } } public class AvviaAlbero { public static void main(String[] args) { AlberoBin A1 =new AlberoBin(); A1.insNodo(1); A1.insNodo(2); A1.insNodo(3); A1.insNodo(4); A1.visitaIterativaDFS(); } }