Lista encadeada em C
Enviado: 05 Nov 2020, 09:24
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 mescla_listas (celula *l1, celula *l2, celula *l3);
que recebe duas listas encadeadas, encabeçadas por l1 e l2, cujo conteúdo está ordenado em ordem não decrescente, e gere uma nova lista encabeçada por l3 que contém os elementos de l1 e l2 ordenados.
Observações
Você não deve alocar nenhuma nova célula na sua função, apenas manipular os ponteiros dos nós de l1 e l2 para que estejam em l3.
Você deve considerar que o nó cabeça l3 já foi alocado antes da chamada para a função mescla_listas.
As listas encabeçadas por l1 e l2 não precisam estar intactas após a chamada à sua função.
typedef struct celula {
int dado;
struct celula *prox;
} celula;
Faça uma função
void mescla_listas (celula *l1, celula *l2, celula *l3);
que recebe duas listas encadeadas, encabeçadas por l1 e l2, cujo conteúdo está ordenado em ordem não decrescente, e gere uma nova lista encabeçada por l3 que contém os elementos de l1 e l2 ordenados.
Observações
Você não deve alocar nenhuma nova célula na sua função, apenas manipular os ponteiros dos nós de l1 e l2 para que estejam em l3.
Você deve considerar que o nó cabeça l3 já foi alocado antes da chamada para a função mescla_listas.
As listas encabeçadas por l1 e l2 não precisam estar intactas após a chamada à sua função.