Como eu faço pra remover um elemento dentro de uma lista encadeada(supondo que essa mesma lista está dentro de outra lista encadeada)?
Como remover elemento de lista dentro de outra lista encadeada?
M
1 Resposta
H
Se uma lista está dentro de outra, então pressuponho que Lista -> Lista. Ou seja, um ponteiro Lista aponta para outra Lista.
Terá que percorrer através de um for por exemplo para encontra a posição que deseja alcançar na Lista. Sendo assim, quando obter o endereço de &Lista, certamente poderá percorrer dentro da próxima ‘Lista’ e passar como argumento para uma função o elemento que deseja remover dessa próxima ‘Lista’.
Eu criei um TAD lista para desenvolver um projeto pessoal (Talvez ajude a sanar o seu problema):
/* Remove primeiro Elemento da Lista - topo */
Lista *lst_Remove(Lista *atual)
{
if (atual == NULL)
return NULL;
Lista *topo;
topo = atual->prox;
printf("\n Removida id: %d", atual->Carta.id);
free(atual);
atual = NULL; // Garante que o valor ? NULL
return topo;
}
Eu mantenho um projeto pessoal que uso TAD lista >> github <<
Espero ter ajudado!
Criado 6 de julho de 2018
Ultima resposta 22 de ago. de 2018
Respostas 1
Participantes 2
Alura Sistemas operacionais: entenda seu conceito e suas funções Descubra o que são sistemas operacionais, suas funções e tipos. Aprenda tudo de forma clara e objetiva. Não perca tempo!
Casa do Codigo Orientacao a Objetos: Aprenda seus conceitos e suas... Por Thiago Leite e Carvalho — Casa do Codigo