ตัวอย่างนี้แบ่งปันรหัสเฉพาะสำหรับ Java เพื่อใช้การผกผันรายการที่เชื่อมโยงทางเดียวสำหรับการอ้างอิงของคุณ เนื้อหาเฉพาะมีดังนี้
1. ใช้รหัส
คลาสสาธารณะ LinkedListTest {โมฆะสาธารณะคงที่หลัก (สตริง [] 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); LinkedListReversor Reversor = LinkedListReversor.Recursion; System.out.println (Reversor.getStrategy () + ":"); โหนด tmp = reversor.execute (a); พิมพ์ (TMP); reversor = linkedListreversor.no_recursion; System.out.println (Reversor.getStrategy () + ":"); พิมพ์ (reversor.execute (TMP)); } private static void print (โหนดโหนด) {ในขณะที่ (node! = null) {system.out.print (node.value); node = node.next; if (node! = null) {system.out.print ("->"); } else {system.out.println (); }}}}}} โหนดคลาส {ค่าสตริงสาธารณะ; โหนดสาธารณะถัดไป; โหนดสาธารณะ (ค่าสตริง) {this.value = value; }} enum linkedListReversor {การเรียกซ้ำ ("การเรียกซ้ำ") {@Override โหนดสาธารณะเรียกใช้งาน (โหนดโหนด) {โหนดก่อนหน้า = 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-recursive") {@Override โหนดสาธารณะ Execute (โหนดโหนด) {โหนดก่อนหน้า = null; ในขณะที่ (node! = null) {node tmp = node; node = node.next; tmp.next = prev; prev = tmp; } return prev; - กลยุทธ์สตริงส่วนตัว Private LinkedListReversor (กลยุทธ์สตริง) {this.strategy = กลยุทธ์; } โหนดนามธรรมสาธารณะดำเนินการ (โหนดโหนด); Public String GetStrategy () {กลยุทธ์การส่งคืน; -2. แนวคิดการใช้งาน
การเรียกซ้ำ: เริ่มต้นจากหาง
ไม่ซ้ำ: เริ่มการประมวลผลจากหัว
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น