Pages: [1]   Go Down
Print
Author Topic: Problema Alberi N-Ari  (Read 656 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
Bart46
Apprendista Forumista
**
Offline Offline

Posts: 152



« on: 25-05-2009, 08:55:24 »

Salve ragazzi.. studiando gli alberi N-Ari dalle slide del prof, ho provato a sviluppare un esempio che lui fa..

posto di seguito il codice...

Code:
import javax.swing.*;
public class EsAlberoN{

public static class Object{
char carattere;
public Object(char x) {carattere=x;}
}

public static class Nodo{
protected Object info;
protected Nodo primofiglio;//sinistra
protected Nodo fratello;

public Nodo(){primofiglio=fratello=null;}
public Nodo(Object val){this(val,null,null);}
public Nodo(Object val,Nodo f){this(val,f,null);}
public Nodo(char a,Nodo p){
info.carattere=a;
primofiglio=p;
}

public Nodo(Object val,Nodo p,Nodo f){
info=val;
primofiglio=p;
fratello=f;
}

public Object visit(){return info;}
}

public static class AlberoN{
protected Nodo root;
public AlberoN(){root=null;}

public void Preorder(Nodo p){
if(p!=null){
System.out.println(p.visit());
Nodo t=p.primofiglio;
while(t!=null){
Preorder(t);
t=t.fratello;
}
}
}

public void Inserimento(String x){
root=Inserimento(root,x);
}
private Nodo Inserimento(Nodo p,String x){
if(p==null)
return Insertpath(x);
if(x.length()==0)
return p;
else
if(p.info.carattere==x.charAt(0))
p.primofiglio=Inserimento(p.primofiglio,x.substring(1));
else
p.fratello=Inserimento(p.fratello,x);

return p;
}

private Nodo Insertpath(String x){
if(x.length()==0)return null;
else return new Nodo(x.charAt(0),Insertpath(x.substring(1)));
}




}


public static void main(String args[]){
AlberoN A=new AlberoN();
for(int i=0;i<5;i++){
String x=JOptionPane.showInputDialog("inserisci stringa");
A.Inserimento(x);
}
A.Preorder(A.root);
}




}



ho creato io il costruttore

Code:
public Nodo(char a,Nodo p){
info.carattere=a;
primofiglio=p;
}

dato che mancava...
 ma a quanto pare non va bene dato che appena viene avviato il programma(compila senza errori), il compilatore segnala alcune righe incorrette(null point exception)... potreste aiutarmi?

Grazie, buona giornata
Logged
Pages: [1]   Go Up
Print
Jump to: