ALGORITMOS E IMPLEMENTAÇÕESMesclar listas encadeadas em C

Implementação de equações dentro da computação, programação e algoritmos.

Moderador: [ Moderadores TTB ]

Avatar do usuário
Autor do Tópico
Aluno2020
sênior
Mensagens: 33
Registrado em: Qua 28 Out, 2020 16:49
Última visita: 01-02-21
Nov 2020 05 09:25

Mesclar listas encadeadas em C

Mensagem não lida por Aluno2020 »

Considere uma lista encadeada com nó cabeça le definida por células

typedef struct celula {
int dado;
struct celula *prox;
} celula;
Faça uma função

void divide_lista (celula *l, celula *l1, celula *l2);
que recebe uma lista encadeada encabeçada por l e a divide em duas listas l1 e l2 de forma que l1 contenha todos os numeros ímpares de l (na ordem em que aparecem em l) e l2 todos os números pares de l (na ordem em que aparecem em l).

Observações

Você não deve alocar nenhuma nova célula na sua função, apenas manipular os ponteiros dos nós de l para que estejam em l1 ou l2.

Você deve considerar que os nós cabeça l1 e l2 já foram alocados antes da chamada para a função divide_lista.

Como consequência, a lista encabeçada por l não estará intacta após a chamada à sua função.




Responder

Voltar para “ALGORITMOS E IMPLEMENTAÇÕES”