java实现单链表(Linked List)相关
原创Java实现单链表(Linked List)基础操作
单链表是一种线性数据结构,其由一系列节点(Node)组成。每个节点包含两个部分:数据域(data)和指向下一个节点的指针(next)。在Java中,我们可以使用类(Class)来实现单链表,并为其提供增删查等基本操作。
1. 定义节点类(Node)
首先,我们定义一个节点类,用于描述链表的节点:
class Node {
int data; // 数据域
Node next; // 指针域
// 构造方法
public Node(int data) {
this.data = data;
this.next = null;
}
}
2. 定义单链表类(LinkedList)
接下来,我们定义一个单链表类,用于实现链表的增删查等操作:
class LinkedList {
Node head; // 头节点
// 构造方法
public LinkedList() {
this.head = null;
}
// 以下是单链表的基本操作
}
3. 添加节点(添加到链表尾部)
下面是一个向链表尾部添加节点的方法:
public void append(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;
}
4. 在链表头部添加节点
以下是一个在链表头部添加节点的方法:
public void prepend(int data) {
Node newNode = new Node(data);
newNode.next = head;
head = newNode;
}
5. 删除节点
下面是一个删除具有特定数据的节点的方法:
public void deleteNode(int key) {
Node temp = head;
Node 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;
}
6. 打印链表
下面是一个打印链表所有节点的方法:
public void printList() {
Node temp = head;
while (temp != null) {
System.out.print(temp.data + " ");
temp = temp.next;
}
System.out.println();
}
总结
本文介绍了怎样在Java中实现单链表,并提供了添加、删除和打印链表等基本操作。通过这些基础操作,我们可以扩展出更多纷乱的功能,例如查找节点、反转链表等。