在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();
}
}
输出:文章来源:https://www.toymoban.com/news/detail-621525.html
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() 方法打印链表。文章来源地址https://www.toymoban.com/news/detail-621525.html
到了这里,关于Java中链表的实现(超详细)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!