在Java中,链表可以通过创建节点和链接节点来实现。以下是一个简单的链表实现示例:
public class LinkedList {Node head; // 头结点// 节点类class Node {int data;Node next;Node(int d) {data = d;next = null;}}// 在链表头部插入节点public void push(int new_data) {Node new_node = new Node(new_data);new_node.next = head;head = new_node;}// 在链表中间插入节点public void insertAfter(Node prev_node, int new_data) {if (prev_node == null) {System.out.println("The given previous node cannot be null");return;}Node new_node = new Node(new_data);new_node.next = prev_node.next;prev_node.next = new_node;}// 在链表尾部插入节点public void append(int new_data) {Node new_node = new Node(new_data);if (head == null) {head = new Node(new_data);return;}new_node.next = null;Node last = head;while (last.next != null)last = last.next;last.next = new_node;return;}// 删除链表中的给定节点public void deleteNode(int key) {Node temp = head, prev = null;if (temp != null && temp.data == key) {head = temp.next;return;}while (temp != null && temp.data != key) {prev = temp;temp = temp.next;}if (temp == null)return;prev.next = temp.next;}// 打印链表public void printList() {Node tnode = head;while (tnode != null) {System.out.print(tnode.data + " ");tnode = tnode.next;}}// 测试public static void main(String[] args) {LinkedList list = new LinkedList();list.append(6);list.push(7);list.push(1);list.append(4);list.insertAfter(list.head.next, 8);System.out.println("Created Linked list is: ");list.printList();list.deleteNode(1);System.out.println("\nLinked List after Deletion of 1:");list.printList();}
}
输出:
Created Linked list is:
1 7 8 6 4
Linked List after Deletion of 1:
7 8 6 4
在这个示例中,我们创建了一个 LinkedList 类,它包含一个 Node 类和一些方法来操作链表。我们可以使用 push() 方法在链表的头部插入节点,使用 insertAfter() 方法在链表中间插入节点,使用 append() 方法在链表尾部插入节点,使用 deleteNode() 方法删除链表中的给定节点,并使用 printList() 方法打印链表。