Pages: [1]   Go Down
Print
Author Topic: Aiuto BFS  (Read 669 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
CollegaCaparezza
Apprendista Forumista
**
Offline Offline

Posts: 141



« on: 17-12-2009, 13:00:49 »

Non capisco come mai la mia BFS stampa valori nulli e non capisco il motivo. Qualcuno saprebbe aiutarmi?
Ecco il codice
Code:
public void BFSVisit(NodoGrafo x){
Coda coda=new Coda();
for(int i=0;i<g.numNodi();i++){
prev[i]=null;
st[i]=Stato.in;
}
for(int i=0;i<g.numNodi();i++){//inserimento dentro la coda dei nodi iniziali
st[i]=Stato.op;
coda.Enqueue(g.getNodo(i));
while(!coda.isEmpty()){//se la coda non è vuota
NodoGrafo nd=coda.Dequeue();//esci il primo valore della lista
if(nd!=null && st[g.Index(nd)]!=Stato.cl){// se il nodo è nullo e non ha uno stato chiuso
st[g.Index(nd)]=Stato.cl;//chiudi il nodo
NodoLG aux=nd.listaAdia.head;//prendi la lista di adiacienza del nodo
for(;aux!=null;aux=aux.next){
NodoGrafo nodo=aux.info;
if(st[g.Index(nodo)]==Stato.in){//se  i nodi della lista di adiacienza è ancora inesplorato
st[g.Index(nodo)]=Stato.op;//apri il nodo
coda.Enqueue(nodo);//inserisci il tutto dentro la lista
prev[g.Index(nodo)]=nodo;//metti il nodo dentro l'array dei predecessori
}
}
}
}
}
}
Grazie in anticipo
Logged
Pages: [1]   Go Up
Print
Jump to: