Este exemplo compartilha o código específico para Java implementar a inversão de lista unidirecional vinculada para sua referência. O conteúdo específico é o seguinte
1. Código de implemento
classe pública LinkedListTest {public static void main (string [] args) {node a = new node ("a"); Nó b = novo nó ("b"); Nó c = novo nó ("c"); Nó d = novo nó ("d"); Nó e = novo nó ("e"); Nó f = novo nó ("f"); A.Next = B; B.next = c; C.next = d; D.next = e; E.Next = f; impressão (a); LinkedListerSor reversor = linkedlisterSor.recursion; System.out.println (reversor.getStrategy () + ":"); Nó tmp = reversor.execute (a); impressão (tmp); reversor = linkedlisterSor.no_recursion; System.out.println (reversor.getStrategy () + ":"); print (reversor.execute (TMP)); } private estático void print (nó nó) {while (node! = null) {System.out.print (node.value); node = node.next; if (node! = null) {System.out.print ("->"); } else {System.out.println (); }}}}}} classe node {public string value; nó público a seguir; public Node (String Value) {this.value = value; }} enum linkedListerSor {Recursion ("Recursion") {@Override public Node Execute (nó nó) {nó prev = null; if (node == null || node.next == null) {prev = node; } else {node tmp = execute (node.next); node.Next.Next = Node; node.next = null; prev = tmp; } retornar prev; }}, No_recursion ("não recorrente") {@Override public Node Execute (nó do nó) {nó prev = null; while (node! = null) {node tmp = node; node = node.next; tmp.next = prev; prev = tmp; } retornar prev; }}; estratégia de string privada; Private LinkedListerSor (estratégia de string) {this.strategy = estratégia; } public abstrate node Execute (nó nó); public String getStrategy () {Return Strategy; }}2. Idéias de implementação
Recursão: começando pela cauda
Não Recursivo: Comece a processar da cabeça
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.