欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java鏈表的插入和刪除

李芳蘭1年前7瀏覽0評論

Java鏈表是一種非常常用的數據結構,它可以插入、刪除和遍歷節點。插入和刪除操作是鏈表操作中最常見的兩種操作,我們可以通過Java代碼來實現。

// 定義節點類
class Node {
int data; // 節點數據
Node next; // 指向下一個節點
// 構造函數
public Node(int data) {
this.data = data;
this.next = null;
}
}
// 定義鏈表類
class LinkedList {
Node head; // 頭結點
// 插入節點
public void insertNode(int data) {
Node newNode = new Node(data); // 創建新節點
if (head == null) { // 如果鏈表為空,將頭結點指向新節點
head = newNode;
return;
}
Node temp = head; // 定義輔助節點
while (temp.next != null) { // 遍歷鏈表找到尾節點
temp = temp.next;
}
temp.next = newNode; // 將尾節點的next指向新節點
return;
}
// 刪除節點
public void deleteNode(int data) {
if (head == null) { // 鏈表為空,返回
return;
}
if (head.data == data) { // 刪除頭節點
head = head.next;
return;
}
Node temp = head; // 定義輔助節點
while (temp.next != null && temp.next.data != data) { // 遍歷鏈表找到要刪除節點的前一個節點
temp = temp.next;
}
if (temp.next == null) { // 要刪除的節點不存在
return;
}
temp.next = temp.next.next; // 將前一個節點的next指向要刪除節點的下一個節點
return;
}
}
// 測試
public class Test {
public static void main(String[] args) {
LinkedList linkedList = new LinkedList();
// 插入節點
linkedList.insertNode(1);
linkedList.insertNode(2);
linkedList.insertNode(3);
// 刪除節點
linkedList.deleteNode(2);
// 遍歷節點
Node temp = linkedList.head;
while (temp != null) {
System.out.println(temp.data);
temp = temp.next;
}
}
}

以上就是Java鏈表的插入和刪除,通過Node類和LinkedList類的定義,我們可以對鏈表進行插入和刪除操作。需要注意的是,在刪除節點的操作中,由于鏈表的特殊性質,我們需要找到要刪除節點的前一個節點才能進行刪除操作。