阅读量:0
在Java中,实现链表插入操作需要遵循以下步骤:
- 创建一个表示链表节点的类,包含一个存储数据的变量(如
data
)和一个指向下一个节点的引用(如next
)。
public class ListNode { int data; ListNode next; public ListNode(int data) { this.data = data; this.next = null; } }
- 创建一个链表类,包含一个头节点引用(如
head
)以及实现插入操作的方法(如insertAtHead
、insertAtTail
和insertAfter
)。
public class LinkedList { ListNode head; public LinkedList() { this.head = null; } // 在链表头部插入节点 public void insertAtHead(int data) { ListNode newNode = new ListNode(data); newNode.next = head; head = newNode; } // 在链表尾部插入节点 public void insertAtTail(int data) { ListNode newNode = new ListNode(data); if (head == null) { head = newNode; return; } ListNode current = head; while (current.next != null) { current = current.next; } current.next = newNode; } // 在指定节点之后插入新节点 public void insertAfter(ListNode node, int data) { if (node == null) { System.out.println("The given previous node must not be null"); return; } ListNode newNode = new ListNode(data); newNode.next = node.next; node.next = newNode; } }
- 使用链表类的方法进行插入操作。
public class Main { public static void main(String[] args) { LinkedList list = new LinkedList(); // 在链表头部插入节点 list.insertAtHead(3); list.insertAtHead(2); list.insertAtHead(1); // 在链表尾部插入节点 list.insertAtTail(4); list.insertAtTail(5); // 在指定节点之后插入新节点 ListNode node = list.head.next; // 节点值为2 list.insertAfter(node, 6); } }
以上代码将创建一个链表,并在头部、尾部和指定节点之后插入新节点。运行Main
类,输出链表中的元素,将显示插入操作的结果。