这个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
这个改进的版本包括一个更简洁的说明,更清晰的代码注释,并处理所有节点甚至所有节点的边缘情况(导致空列表)。 在处理内部节点之前,添加检查(
),如果所有领导节点均为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(); } }
以上是Java程序从单链接列表中删除所有节点的详细内容。更多信息请关注PHP中文网其他相关文章!