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類的定義,我們可以對鏈表進行插入和刪除操作。需要注意的是,在刪除節點的操作中,由于鏈表的特殊性質,我們需要找到要刪除節點的前一個節點才能進行刪除操作。
下一篇css規則的三個特性