Ir para conteúdo
Fórum Script Brasil
  • 0

list std -funçaõ empty e remove não funcionam como esperado


ane2009

Pergunta

estou implementando o algoritmo de dijkstra em c++ e estou trabalhando com list do std, mas estou com dificuldade em percorrer a lista Q até o seu final, ler seus dados, pois eu removo de um em um todos elementos, mas a lista nunca fica vazia (como se retirasse o elemento mas o endereço de memoria fica la, dai quando tendo acessar o primeiro elemento da list retorno o endereço de maemoria e não o elemento, além do mais o criterio abaixo entra em loop:

while (!listaQ.empty())   //já tentei usar isso tb while(listaQ.size());
 {     for(it = listaQ.begin(); it!= listaQ.end(); it++)
        {  if(d->at(it)<temp)            {  
              { temp= d->at(it);
               u=it;            }  
        }  // quando tento imprimir o it aqui, no primeiro loop ele imprime o elemento, mas apos remover este elemento (funcao remove abaixo) ele   dá erro eimprime acho q o endereço da memoria. 
       listaQ.remove(u);
       listaS.push_back(u); 
}

Editado por kuroi
Adicionar tag CODE
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...