• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Djoblack

LinkedList

3 mensagens neste tópico

Boas,como eu faço para inverter uma linked list?

Eu tenho 2 referências,1 para o primeiro elemento e outro para o último elemento da lista

Class Linked list{

No inicial 

No final

}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crias uma lista nova para guardar o resultado, inicialmente vazia. Fazes um ciclo na lista que queres inverter enquanto esta tiver elementos. Em cada iteração removes o elemento à cabeça (no incio) da lista e inseres o dito à cabeça na nova lista. No final, a lista inicial que querias inverter está vazia e a lista com o resultado tem o conteúdo na lista inicial mas invertida. Simula 1 ou 2 passos do algoritmo num papel que vais perceber.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se a lista estiver ordenada aplicas uma nova ordenação com elemento de comparação que te dê a relação inversa. Se não, terás de percorrer toda a lista e introduzir os elementos pela ordem inversa numa lista auxiliar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora