adriano_si 25 de out. de 2010
cara… é como se não tivesse um Objeto criado para o visitado… posta todo o código da classe Grafo…
felipehts 25 de out. de 2010
O código ainda está em fase inicial, mas segue abaixo sua estrutura:
public class Grafo extends GrafoBase {
public int matAdj [][] ;
public int n ;
public boolean visitado [] ;
public void addAresta ( int i , int j , int p ) {
matAdj [ i ][ j ] = p ;
matAdj [ j ][ i ] = p ;
}
public void remAresta ( int i , int j ) {
addAresta ( i , j , 0 );
}
public void AGM ( int v ) {
}
public void caminhoMinimo ( int i , int j ) {
}
public void completarGrafo () {
}
public boolean isEuleriano () {
for ( int i = 0 ; i < getN (); i ++ ) {
if ( this . grau ( i ) % 2 != 0 ) {
return false ;
}
}
return true ;
}
public boolean isUnicursal () {
int i , cont = 0 ;
for ( i = 0 ; i < n ; i ++ ) {
cont += grau ( i ) % 2 ;
}
return cont == 2 ;
}
public void largura ( int v ) {
Fila f = new Fila ();
f . enfileirar ( v );
while ( ! f . vazia ()) {
v = f . desenfileirar ();
visitado [ v ] = true ;
for ( int i = 0 ; i < n ; i ++ ) {
if ( matAdj [ v ][ i ] != 0 && ! visitado [ i ] ) {
visitado [ i ] = true ;
f . enfileirar ( i );
}
}
}
}
public void numeroCromatico () {
}
public String paresOrdenados () {
//getVertice(2).setCor(Color.GREEN);
return "" ;
}
public void profundidade ( int v ) {
visitado [ v ] = true ;
for ( int i = 0 ; i < n ; i ++ ) {
if ( matAdj [ v ][ i ] != 0 && ! visitado [ i ] ) {
// getVertice(i).setCor(Color.GREEN);
System . out . println ( matAdj [ v ][ i ] );
profundidade ( i );
}
}
}
}
adriano_si 25 de out. de 2010
Pois bem… como eu disse…
Aqui crias um Array(que é um Objeto no heap)…
public boolean visitado [] ;
Mas esse cara não é inicializado em lugar nenhum… Logo dá NullPointer
Experimenta assim…
public boolean visitado [] = new boolean [ 10 ] ;
e roda de novo… Não olhei o resto do código, pode ter erros em outros lugares…
felipehts 25 de out. de 2010
adriano_si:
Pois bem… como eu disse…
Aqui crias um Array(que é um Objeto no heap)…
public boolean visitado [] ;
Mas esse cara não é inicializado em lugar nenhum… Logo dá NullPointer
Experimenta assim…
public boolean visitado [] = new boolean [ 10 ] ;
e roda de novo… Não olhei o resto do código, pode ter erros em outros lugares…
adriano_si 25 de out. de 2010
cara… coloca um RESOLVIDO aí no título do Post…
Abraços 8)
felipehts 25 de out. de 2010