這個Java程序有效地從單個鏈接列表中刪除了所有偶數節點。讓我們完善說明和呈現,以確保
>本文演示瞭如何從Java中的單個鏈接列表中刪除所有偶數的節點。我們將介紹創建列表,添加節點,刪除均值的節點並顯示最終列表。
>從單鏈接列表中刪除所有偶數節點。
>
>輸出示例:<code>Original List: 1 2 3 4 5 6</code>
算法:
<code>Original List: 1 2 3 4 5 6 List after deleting even nodes: 1 3 5</code>
初始化:
next
這個改進的版本包括一個更簡潔的說明,更清晰的代碼註釋,並處理所有節點甚至所有節點的邊緣情況(導致空列表)。 在處理內部節點之前,添加檢查(
),如果所有領導節點均為<code class="language-java">public class LinkedList { static class Node { int data; Node next; Node(int data) { this.data = data; this.next = null; } } Node head; public void insert(int data) { Node newNode = new Node(data); if (head == null) { head = newNode; } else { Node temp = head; while (temp.next != null) { temp = temp.next; } temp.next = newNode; } } public void deleteEvenNodes() { //Remove leading even nodes while (head != null && head.data % 2 == 0) { head = head.next; } //Remove internal even nodes if (head != null) { //Check if list is not empty after removing leading evens Node current = head; while (current != null && current.next != null) { if (current.next.data % 2 == 0) { current.next = current.next.next; } else { current = current.next; } } } } public void printList() { Node temp = head; while (temp != null) { System.out.print(temp.data + " "); temp = temp.next; } System.out.println(); } public static void main(String[] args) { LinkedList list = new LinkedList(); list.insert(1); list.insert(2); list.insert(3); list.insert(4); list.insert(5); list.insert(6); System.out.println("Original List:"); list.printList(); list.deleteEvenNodes(); System.out.println("List after deleting even nodes:"); list.printList(); } }</code>
以上是Java程序從單鏈接列表中刪除所有節點的詳細內容。更多資訊請關注PHP中文網其他相關文章!