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

(Resolvido) Inserir à direita (lista simplesmente encadeada)


Shark

Pergunta

Oi pessoal,

Tenho esse simples código aqui:

#include <cstdlib>
#include <iostream>

using namespace std;

struct TLista { //inicio da struct
       int valor; //define variavel valor do tipo inteiro. é ela quem receberá o conteúdo da nossa lista
       struct TLista *prox; //define variável do tipo struct. é ela que irá receber o endereço do próximo nó da lista
       };
int main()
{
    struct TLista *novo, *Lista1;
    Lista1 = (TLista*)malloc(sizeof(TLista));
    Lista1=NULL;
    novo = (TLista*)malloc(sizeof(TLista));
    novo->valor=15;
    novo->prox=NULL;
    Lista1 = novo;
      
    system("PAUSE");
    return EXIT_SUCCESS;
}

Como eu faço para adicionar elementos ao final da minha lista simplesmente encadeada??

Obrigado a quem puder ajudar!

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Estando no ultimo elemento da lista, aponte para o novo elemento criado.

novo = malloc(sizeof(TLista));
if(novo == NULL) {
  printf("Alocacao falhou!\n");
  exit(1);
}
novo->valor = 15;
novo->prox = NULL;

/* ultimo deve ser o último elemento da lista */
ultimo->prox = novo;

Alguma razão para você estar usando C++ (cstdlib e iostream) e não estar usando new e delete ao invés de malloc e free?

Outra coisa, não use system("pause"). Use std::cin.get(). (C++) Link para referência: http://www.gidnetwork.com/b-61.html

Abraços.

Link para o comentário
Compartilhar em outros sites

  • 0
Estando no ultimo elemento da lista, aponte para o novo elemento criado.

novo = malloc(sizeof(TLista));
if(novo == NULL) {
  printf("Alocacao falhou!\n");
  exit(1);
}
novo->valor = 15;
novo->prox = NULL;

/* ultimo deve ser o último elemento da lista */
ultimo->prox = novo;

Alguma razão para você estar usando C++ (cstdlib e iostream) e não estar usando new e delete ao invés de malloc e free?

Outra coisa, não use system("pause"). Use std::cin.get(). (C++) Link para referência: http://www.gidnetwork.com/b-61.html

Abraços.

ô, meu amigo, não tenho como te agradecer!

muito obrigado mesmo!

eu tentei usar o new mas ele simplesmente diz que não reconhece.. enfim..

como o malloc funcionou, deixei!

até porque não é uma aplicação a ser utilizada.. é apenas parte da solução de um problema.

mas valeu mesmo pela dica!

inclusive sobre o "system pause"

mais uma vez, te agradeço!

Link para o comentário
Compartilhar em outros sites

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