Problema em Grafo

1. Problema em Grafo

Leonardo dos santos prado
leonardosprado

(usa Ubuntu)

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]:
.......



  


2. Re: Problema em Grafo

Perfil removido
removido

(usa Nenhuma)

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

Leonardo dos santos prado
leonardosprado

(usa Ubuntu)

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<<"-->";

}







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts