链表。。。。
创始人
2024-11-11 21:09:16
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
}
}

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

相关内容

热门资讯

九分钟德州!(governor... 九分钟德州!(governorofpoker3)软件透明挂,德州软件辅助计算,解密教程(有挂普及);...
九分钟安装!(WepOke)软... 九分钟安装!(WepOke)软件透明挂,德扑计算软件,解密教程(有挂黑科技);一、德扑AI软件牌型概...
7分钟工具!(德扑线上)软件透... 7分钟工具!(德扑线上)软件透明挂,wepoke可以使用模拟器,详细教程(有挂技巧)一、德扑线上AI...
一分钟口控制!(wepOkE)... 一分钟口控制!(wepOkE)软件透明挂,aa扑克平台,2025新版(有挂分析)该软件可以轻松地帮助...
八分钟ai辅助!(德州wepo... 八分钟ai辅助!(德州wepower)软件透明挂,推扑克辅助器,技巧教程(有挂推荐)1、用户打开应用...
4分钟玄学!(欢乐棋牌)软件透... 4分钟玄学!(欢乐棋牌)软件透明挂,微扑克辅助器,技巧教程(有挂科技)进入游戏-大厅左侧-新手福利-...
1分钟猫腻!(来玩德州扑克约局... 1分钟猫腻!(来玩德州扑克约局)软件透明挂,wopoker苹果可以下载,2025新版教程(有挂普及)...
五分钟科技!(传奇扑克)软件透... 五分钟科技!(传奇扑克)软件透明挂,德扑之星可以查数据,2025版教程(有挂科普)1、让任何用户在无...
3分钟胜率!(扑克世界)软件透... 3分钟胜率!(扑克世界)软件透明挂,菠萝德州app挂哪里买,规律教程(有挂发现)1、菠萝德州app机...
六分钟开挂!(impoker)... 六分钟开挂!(impoker)软件透明挂,红龙扑克电脑模拟器,总结教程(有挂介绍)六分钟开挂!(im...