A estrutura de dados lista ligada é uma alternativa poderosa para matrizes simples. Ao contrário de matrizes , os dados podem ser rapidamente adicionados e removidos a partir de uma lista ligada sem recriar a lista de um elemento de cada vez. No entanto, diferentemente de matrizes , os dados em uma lista ligada só pode ser acessado em ordem. Você pode fazer isso com um loop simples ou com uma função recursiva (ou auto- chamada) . Isso vai ser escrito em Java , mas o código pode ser implementado em qualquer idioma , com apenas pequenas modificações para se adequar as diferenças de sintaxe. Instruções
1
Abra um editor de texto
2
Cole o seguinte código Java: .
Public class RecursiveLLTraverser {
public static traverseList void ( LinkedList l) { }
}
Todo o código vai dentro do método " traverseList " .
3
cole o seguinte dentro do método " traverseList " :
if ( l.size () == 0) return;
if ( l.size () > 0) {
LinkedList n = l.clone ();
objeto o = n.removeFirst ();
o.doSomething ();
traverseList (n );
}
Isso leva uma lista ligada e faz um clone superficial do que com o primeiro elemento removido (e alguns processamento realizado sobre ele ) que o clone é então executado através da Lista de travessia . si . Eventualmente, o clone estará vazia , caso em que o método de lista travessia vai simplesmente voltar.