이 예제는 Java가 참조를 위해 일원 링크 링크 목록 반전을 구현할 수있는 특정 코드를 공유합니다. 특정 내용은 다음과 같습니다
1. 코드를 구현하십시오
public class linkedListTest {public static void main (String [] args) {node a = 새 노드 ( "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; 인쇄 (a); LinkedListRessor Reversor = LinkedListResssor.crursion; System.out.println (Reversor.getStrategy () + ":"); 노드 tmp = Reversor.Execute (a); 인쇄 (TMP); Reversor = LinkedListRessor.No_recursion; System.out.println (Reversor.getStrategy () + ":"); print (Reversor.Execute (TMP)); } private static void print (노드 노드) {while (node! = null) {system.out.print (node.value); node = node.next; if (node! = null) {system.out.print ( "->"); } else {system.out.println (); }}}}}} 클래스 노드 {public String 값; 다음에 공개 노드; 공개 노드 (문자열 값) {this.value = value; }} enum linkedListResssor {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.next = null; 이전 = TMP; } return prev; }}, no_recursion ( "non-recursive") {@override public node execute (노드 노드) {node prev = null; while (node! = null) {node tmp = 노드; node = node.next; tmp.next = 이전; 이전 = TMP; } return prev; }}; 개인 문자열 전략; Private LinkedLiStversor (String Strategy) {this.strategy = 전략; } 공개 초록 노드 실행 (노드 노드); 공개 문자열 getStrategy () {반환 전략; }}2. 구현 아이디어
재귀 : 꼬리에서 시작합니다
비수체 : 헤드에서 처리를 시작합니다
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.