Ir ao conteúdo
  • Cadastre-se

Remover elemento de umas lista encadeada


beethoven36

Posts recomendados

Por favor me ajudem dado o seguinte estrutura e codigo,eu estou com duvida,no fim de o porque retornar o inicio ao main quando se vai excluir no fim do da lista(rem e o inicio passado por parametro),

struct pessoa

{

char nome[20];

int idade;

float salario;

struct pessoa *prox;

struct pessoa *ant;

};

pessoa* remover(pessoa *rem)

{

int opc2 = 0;

pessoa *auxRem;

pessoa *ultimo;

pessoa *penultimo;

if(rem->prox ==NULL)

{

free(rem);

auxRem = NULL;

}else{

printf("\n 1- Inicio");

printf("\n 2- Fim\n ->");

scanf("%i",&opc2);

if(opc2 == 1)

{

auxRem = rem->prox;

free(rem);

}

if(opc2 == 2)

{

auxRem = rem;

while(auxRem->prox != NULL)

{

auxRem = auxRem->prox;

}

ultimo = auxRem;

auxRem = rem;

while(auxRem->prox != ultimo)

{

auxRem = auxRem->prox;

}

penultimo = auxRem;

printf("\n Penultimo: %s",penultimo->nome);

printf("\n Ultimo: %s",ultimo->nome);

free(ultimo);

penultimo->prox = NULL;

auxRem = rem;

}

}

return(auxRem);

}

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...