В этом примере используется конкретный код для Java для реализации инверсии в одностороннем списке для вашей ссылки. Конкретный контент заключается в следующем
1. Реализация кода
открытый класс LinkedListSt {public static void main (string [] args) {node a = new Node ("a"); Узел B = новый узел ("B"); Узел C = новый узел ("C"); Узел D = новый узел ("D"); Узел E = новый узел ("E"); Узел F = новый узел ("f"); A.next = b; B.next = c; C.next = d; D.next = e; E.next = f; Печать (а); LinkedListerSor reversor = linkedListerSor.Recursion; System.out.println (reversor.getStrategy () + ":"); Узел tmp = reversor.execute (a); Печать (TMP); reversor = linkedListerSor.no_recursion; System.out.println (reversor.getStrategy () + ":"); print (reversor.execute (tmp)); } private static void print (node node) {while (node! = null) {System.out.print (node.value); node = node.next; if (node! = null) {System.out.print ("->"); } else {System.out.println (); }}}}}} class node {public String value; Публичный узел следующий; public node (string value) {this.value = value; }} enum linkedListerSor {recursion ("recursion") {@Override public node execute (node node) {node 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; } return prev; }}, No_recursion ("non-recurive") {@override public node execute (node node) {node prev = null; while (node! = null) {node tmp = node; node = node.next; tmp.next = prev; prev = tmp; } return prev; }}; частная строковая стратегия; Private LinkedListerSor (String Strategy) {this.strategy = стратегия; } public Abstract Node execute (Node Node); public String getStrategy () {return Strategy; }}2. Идеи реализации
Рекурсия: начиная с хвоста
Нерекурсивный: начать обработку с головы
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.