Lista de listas

4 respostas
aquilante

Srs. muito bom dia!

Tenho a seguinte dúvida e queria compartilhar com vcs. Eu tenho que fazer uma lista de listas. Por exemplo: Tenho que fazer uma estrutura para representar um grafo:

listaGrafo (origem, destino, arco, custo)

Onde cada arco só poderá ter uma origem e um destino e um custo. Qual seria a melhor forma de fazer essa estrutura.

Estou com dificuldade em criar essa estrutura e adicionar os itens às listas.

Obrigado!
:lol:

4 Respostas

yorgan

Pode ser algo assim:

public class Grafo {
private String origem;
private String destino;
private String arco;
private Double custo;

public Grafo(String origem, String destino, String arco, Double custo) {
     this.origem = origem;
     this.destino = destino;
     this.arco = arco;
     this.custo = custo;
}


//Getters and setters...
}

public class ListaGrafos {

private ArrayList listaGrafos = new ArrayList();  

public void adicionarGrafo(String origem, String destino, String arco, Double custo)
     listaGrafos.add(new Grafo(origem,destino,arco,custo))
}

public ArrayList getListaArcos() {
     return listaArcos;
}
Jorgev

Olha aquilante, eu nunca mexi com grafos, apenas li um pouco sobre, mas fiquei curioso com a sua dúvida. Deixa eu ver se entendi a sua dúvida: Vc quer criar uma estrutura de lista e nessa lista vc vai colcar outra estrutura como essa que vc passou ai é isso?

Abraço.

Jorgev
yorgan:
Pode ser algo assim:
public class Grafo {
private String origem;
private String destino;
private String arco;
private Double custo;

public Grafo(String origem, String destino, String arco, Double custo) {
     this.origem = origem;
     this.destino = destino;
     this.arco = arco;
     this.custo = custo;
}


//Getters and setters...
}

public class ListaGrafos {

private ArrayList listaGrafos = new ArrayList();  

public void adicionarGrafo(String origem, String destino, String arco, Double custo)
     listaGrafos.add(new Grafo(origem,destino,arco,custo))
}

public ArrayList getListaArcos() {
     return listaArcos;
}

Eu já fiz uma estrutura igual a essa, não era com dados de um grafo, mas funcionou blz.

Abraço.

luistiagos

A diversas maneiras de vc fazer isto… mas vou te dar um exemplo de uma não sei se é a melhor forma de se fazer mas e uma das formas…

vc podera fazer uma classe No que representa o nó do grafo nela tera um atributo id para mostrar a identificação do nó, podera ter algum outro atributo como conteudo (uma string por exemplo) isto seria o que este nó iria carregar é opcional e tera uma lista de objetos arcos pois um no podera estar ligado a diversos arcos… depois é claro seria bom ter uma classe arco que teria 3 atributos: o nó de origem, o nó de destino e o peso. ao criar um novo nó o que vc iria fazer seria simples instanciar um novo nó com seu id e seu valor, para fazer a ligação deste com um outro nó existente vc iria instanciar um novo arco com seu peso e passar o objeto do nó recem criado como origem e colocar o objeto do no de destino como destino. Esta eu creio que seria a estrutura mais simples para se fazer um grafo.

Criado 28 de fevereiro de 2008
Ultima resposta 28 de fev. de 2008
Respostas 4
Participantes 4