要在LinkedListNode中插入特定位置,可以按照以下步驟操作:
首先,創建一個新的節點,將要插入的數據存儲在這個節點中。
使用一個臨時變量來追蹤當前節點和前一個節點。開始時,將當前節點設置為鏈表的頭節點,前一個節點為空。
使用一個計數器變量來追蹤當前位置。從頭節點開始遍歷鏈表,每遍歷一個節點,計數器加1,直到達到要插入的位置。
當計數器等于要插入的位置時,將新節點插入到當前節點之前,并更新前一個節點的next指向新節點,新節點的next指向當前節點。
如果要插入的位置是鏈表的末尾,則直接將新節點插入到當前節點之后,并將新節點設置為鏈表的尾節點。
完成插入后,記得更新鏈表的長度。
下面是一個示例代碼片段,演示如何在LinkedListNode中插入特定位置:
public void insertAtPosition(int data, int position) {
LinkedListNode newNode = new LinkedListNode(data);
LinkedListNode current = head;
LinkedListNode previous = null;
int count = 0;
while (current != null && count < position) {
count++;
previous = current;
current = current.next;
}
if (previous == null) {
newNode.next = head;
head = newNode;
} else {
previous.next = newNode;
newNode.next = current;
}
size++; // 更新鏈表長度
}
在上面的示例中,insertAtPosition方法可以將一個新節點插入到指定位置(position)處。如果位置為0,新節點將成為頭節點;如果位置為鏈表的末尾,則新節點將成為尾節點;否則,新節點將插入到指定位置的前一個節點之后。