Java ใช้ฟังก์ชั่นของการเพิ่มและลบรายการที่เชื่อมโยงสองทาง, รหัสที่สมบูรณ์
Package Linked; class linkedTable {} คลาสสาธารณะ LinkedTableTest {// สร้างรายการที่เชื่อมโยงเดียวโหนดคงที่โหนด 1 = โหนดใหม่ ("name1"); โหนดคงที่โหนด 2 = โหนดใหม่ ("name2"); โหนดคงที่โหนด 3 = โหนดใหม่ ("name3"); โหนดคงที่โหนด 4 = โหนดใหม่ ("name4"); โหนดคงที่โหนด 5 = โหนดใหม่ ("name5"); โมฆะคงที่สาธารณะหลัก (สตริง [] args) {// ตั้งค่าตัวชี้ setpoint (); // loop ผ่าน system.out.println ("******* รายการที่เชื่อมโยงเริ่มต้น **********"); ออก (node1, node5); System.out.println (); // แทรกโหนดด้านหลัง node2 addNode (node2, node3); // loop ผ่าน system.out.println ("******* แทรก node2.5 *******"); ออก (node1, node5); System.out.println (); // ลบโหนด node2.setNextNode (node3); node3.setNextNodef (node2); // loop ผ่าน system.out.println ("******* ลบ node2.5 *******"); ออก (node1, node5); System.out.println (); } // set pointer point public static void setpoint () {// ตั้งค่าตัวชี้ไปข้างหน้า node1.setNextNode (node2); node2.setNextNode (node3); node3.SetNextNode (node4); node4.setNextNode (node5); // ตั้งค่าตัวชี้ย้อนกลับ node5.SetNextNodef (node4); node4.setNextNodef (node3); node4.setNextNodef (node3); node3.setNextNodef (node2); node2.setNextNodef (node1); } // วนลูปผ่านรายการที่เชื่อมโยงเดียวกับโมฆะคงที่สาธารณะคงที่ (Node StartNode) {node node = new node (); node.setNextNode (startNode); ทำ {node = node.getNextNode (); System.out.print (node.getName ()+"----"); } ในขณะที่ (node.getNextNode ()! = null); } // วนซ้ำกลับไปที่รายการที่เชื่อมโยงเดียวกับโมฆะสาธารณะคงที่ outlinkedf (โหนด endnode) {โหนดโหนด = new node (); node.setNextNodef (endnode); ทำ {node = node.getNextNodef (); System.out.print (node.getName ()+"----"); } ในขณะที่ (node.getNextNodef ()! = null); } // วนซ้ำผ่านโมฆะคงที่สาธารณะ (โหนด startNode, โหนด endNode) {Outlinked (startNode); System.out.println (); Outlinkedf (endnode); } // แทรกโมฆะสาธารณะแบบคงที่สาธารณะ addNode (โหนด prenode, โหนด nextNode) {node node_add = โหนดใหม่ ("name2.5"); node_add.setNextNode (prenode.getNextNode ()); prenode.setNextNode (node_add); node_add.setNextNodef (nextNode.getNextNodef ()); nextNode.setNextNodef (node_add); }} คลาสโหนด {ชื่อสตริงส่วนตัว; โหนดส่วนตัว NextNode; โหนดส่วนตัว NextNodef; โมฆะสาธารณะ setName (ชื่อสตริง) {this.name = name; } โมฆะสาธารณะ setNextNode (node nextNode) {this.nextNode = nextNode; } โมฆะสาธารณะ setNextNodef (node nextNodef) {this.nextNodef = nextNodef; } สตริงสาธารณะ getName () {return this.name; } โหนดสาธารณะ getNextNode () {return this.nextNode; } โหนดสาธารณะ getNextNodef () {return this.nextNodef; } โหนดสาธารณะ (ชื่อสตริง) {this.name = name; this.nextNode = null; } โหนดสาธารณะ () {}}1. การสร้างโหนดโหนดต้องใช้สองพอยน์เตอร์หนึ่งตัวสำหรับการจัดเก็บตำแหน่งขององค์ประกอบถัดไปและอีกอันสำหรับการเก็บกลับตำแหน่งขององค์ประกอบถัดไป
คำอธิบายพารามิเตอร์:
ชื่อ: ใช้ในการจัดเก็บข้อมูลของโหนดเอง
NextNode: ใช้เพื่อเก็บพอยน์เตอร์ไปข้างหน้า
NextNodef: ใช้เพื่อเก็บพอยน์เตอร์ย้อนกลับ
โหนดคลาส {ชื่อสตริงส่วนตัว; โหนดส่วนตัว NextNode; โหนดส่วนตัว NextNodef; โมฆะสาธารณะ setName (ชื่อสตริง) {this.name = name; } โมฆะสาธารณะ setNextNode (node nextNode) {this.nextNode = nextNode; } โมฆะสาธารณะ setNextNodef (node nextNodef) {this.nextNodef = nextNodef; } สตริงสาธารณะ getName () {return this.name; } โหนดสาธารณะ getNextNode () {return this.nextNode; } โหนดสาธารณะ getNextNodef () {return this.nextNodef; } โหนดสาธารณะ (ชื่อสตริง) {this.name = name; this.nextNode = null; } โหนดสาธารณะ () {}}2. สร้างโหนดและตั้งค่าตัวชี้เพื่อเชื่อมต่อกับโหนด
ตัวชี้ไปข้างหน้า: ชี้ไปที่โหนดถัดไป
โหนดย้อนกลับ: ชี้ไปที่โหนดก่อนหน้า
// สร้างรายการที่เชื่อมโยงเดียวโหนดคงที่โหนด 1 = โหนดใหม่ ("name1"); โหนดคงที่โหนด 2 = โหนดใหม่ ("name2"); โหนดคงที่โหนด 3 = โหนดใหม่ ("name3"); โหนดคงที่โหนด 4 = โหนดใหม่ ("name4"); โหนดคงที่โหนด 5 = โหนดใหม่ ("name5"); public static void setpoint () {// ตั้งค่าตัวชี้ไปข้างหน้า node1.setNextNode (node2); node2.setNextNode (node3); node3.SetNextNode (node4); node4.setNextNode (node5); // ตั้งค่าตัวชี้ย้อนกลับ node5.SetNextNodef (node4); node4.setNextNodef (node3); node3.setNextNodef (node2); node2.setNextNodef (node1); -3. วนรายการรายการที่เชื่อมโยงผ่านเอาต์พุต
โมฆะคงที่สาธารณะ outlinked (โหนด startNode) {โหนดโหนด = new node (); node.setNextNode (startNode); ทำ {node = node.getNextNode (); System.out.print (node.getName ()+"----"); } ในขณะที่ (node.getNextNode ()! = null); - โมฆะคงที่สาธารณะ OutlinkedF (โหนด endNode) {โหนดโหนด = new node (); node.setNextNodef (endnode); ทำ {node = node.getNextNodef (); System.out.print (node.getName ()+"----"); } ในขณะที่ (node.getNextNodef ()! = null); -4. เพิ่มโหนด
โมฆะคงที่สาธารณะ addNode (โหนด prenode, โหนด nextNode) {node node_add = โหนดใหม่ ("name2.5"); node_add.setNextNode (prenode.getNextNode ()); prenode.setNextNode (node_add); node_add.setNextNodef (nextNode.getNextNodef ()); nextNode.setNextNodef (node_add); -5. ลบโหนด
node2.setNextNode (node3); node3.SetNextNodef (node2);
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น