Pular para o conteúdo

Problema em Grafo

Responder tópico
  • Denunciar
  • Indicar

1. Problema em Grafo

Enviado em 21/09/2016 - 18:28h

Pessoal, estou com um problema na minha lista de adjacencia.
Sempre que eu coloco mais de 5 Vertices, o Vetor de Lista nas primeiras posições aparece 0 ou lixos.

Abaixo está meu codigo do Construtor do Grafo, e a Lista foi eu mesmo que criei, ela está funcionando 100%, só na hora de fazer
meu vetor de lista que dá esse problema.

Grafo::Grafo(int v)
{
n=v;
for(unsigned int i =0;i<v;i++)
Vetor[i] = new Lista;


}


Ao inserir 20 vertices a impressão é essa :

V[0]: 25642560-->0-->
V[1]: 0-->
V[2]: 0-->
V[3]: 0-->
V[4]: 0-->
V[5]: 0-->
V[6]: 0-->
V[7]:
V[8]:
.......

Responder tópico

2. Re: Problema em Grafo

Enviado em 21/09/2016 - 18:46h

Qual a estrutura do tipo Lista?
Qual o código que mostra estrutura de vértices?

----------------------------------------------------------------------------------------------------------------
Nem direita, nem esquerda. Quando se trata de corrupção o Brasil é ambidestro.
(anônimo)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden

3. Re: Problema em Grafo

Enviado em 21/09/2016 - 19:53h

Essa é a estrutura da lista, e a estrutura No.


class No
{
public:
No(int k);

public:
int key;
No* proximo;
};
No::No(int k)
{
this->key=k;
proximo = NULL;
}




class Lista
{
public:
Lista();

bool listaVazia();

void Inserir(int a);
void listar();
void removerFim();

public:
No *head;
};

Lista::Lista()
{
head = NULL;

}

bool Lista::listaVazia()
{
return (head==NULL);
}

void Lista::Inserir(int a)
{
No* z = new No(a);
No *x, *y;
for(x=head; x!=NULL; x=x->proximo)
y=x;
z->proximo = x;
if(x==head){
head = z; //insere no in&#146;cio
}
else
y->proximo = z; //insere no meio ou no fim
}


void Lista::listar()
{
No*x;
for(x=head;x!=NULL;x=x->proximo)
std::cout<<x->key<<"-->";

}

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder