链表。。。。

avatar
作者
猴君
阅读量:0

在Java中,手写实现链表结构通常涉及定义链表节点(ListNode)类和链表(LinkedList)类。链表节点通常包含数据部分和指向下一个节点的引用。链表类则包含一系列方法来操作链表,如添加、删除、查找等。

以下是一个简单的单向链表实现的示例:

链表节点类(ListNode)

public class ListNode {
int val; // 节点的值
ListNode next; // 指向下一个节点的引用
// 构造函数
public ListNode(int val) {
this.val = val;
this.next = null;
}
}

链表类(LinkedList)

public class LinkedList {
private ListNode head; // 链表的头节点
// 构造函数
public LinkedList() {
this.head = null;
}
// 在链表末尾添加元素
public void add(int val) {
ListNode newNode = new ListNode(val);
if (head == null) {
head = newNode;
} else {
ListNode current = head;
while (current.next != null) {
current = current.next;
}
current.next = newNode;
}
}
// 打印链表
public void printList() {
ListNode current = head;
while (current != null) {
System.out.print(current.val + " -> ");
current = current.next;
}
System.out.println("null");
}
// 其他方法(例如删除节点、查找节点等)可以按需添加
// 示例:删除链表中的某个值(删除第一个匹配的值)
public void delete(int val) {
if (head == null) return;
if (head.val == val) {
head = head.next;
return;
}
ListNode current = head;
while (current.next != null) {
if (current.next.val == val) {
current.next = current.next.next;
return;
}
current = current.next;
}
}
}

使用示例

public class Main {
public static void main(String[] args) {
LinkedList list = new LinkedList();
list.add(1);
list.add(2);
list.add(3);
list.printList(); // 输出:1 -> 2 -> 3 -> null
list.delete(2);
list.printList(); // 输出:1 -> 3 -> null
}
}

以上代码展示了如何定义一个简单的单向链表,包括链表节点类和链表类,并提供了添加元素和打印链表的方法。还展示了如何删除链表中的第一个匹配元素。当然,链表还有很多其他操作,如插入节点到指定位置、查找节点等,可以根据需要进行实现。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!