在 在 在 在 , , , , , , , , 了解 了解 了解 了解 了解 了解 了解 或者 或者 或者 或者 或者Bạn có thể sử dụng JavaScript để phát triển JavaScript ,那么我推荐你阅读本文。
Bạn có thể sử dụng JavaScript để hỗ trợ JavaScript không?
什么是链表
链表格 , , , , , , , 的 的 元素 指针 指针 指针 指针 指针 指针 指针 指针 指针 指针 指针 列表 列表 列表 指针 指针 指针中的下一个对象。
每 个 元素 节点 包含 两 个 的 数据 数据 和 一 一 个 个 节点 , , , , , ,

我们 通常 使用 使用 使用 作为 作为 , , , 这个 这个 这个 这个 是 是 对 链表 中 中 个 个 , , , , 链表 的 最后
Đối với JavaScript 中,链表长这样:
const list = {
head: {
value: 6
next: {
value: 10
next: {
value: 12
next: {
value: 3
next: null
}
}
}
}
}
};
链表的优点
可以很容易地从链表中删除或添加节点,而无需重组整个数据结构。这是它相对于数组的一一伂
链表的缺点
- 链表的搜索操作很慢,与数组不同,不允许随机访问数据元素,必须从第一个节点开始按顺顺麏肹
- 由于需要储存指针,相较于数组需要更多内存。
链表的类型
链表有以下三种类型:
- 单向链表: Tôi có thể làm điều đó với mọi người không?
- 双向链表:每个节点包含两个指针,一个指向下一个节点,另一个指向前一个节点。
- 循形链表: 循环 是 的 , , 的 最后 节点 指向 第一 或 或 或 之前 之前 的 任何 其他 其他 其他 , , , , , ,
JavaScript 实现一个表节点
前面我们讲到,列表节点包含两项: JavaScript 实现如点的指针。我们可以用 JavaScript 实现如下技痺皹:
class ListNode {
constructor(data) {
this.data = data
this.next = null
}
}
JavaScript 实现一个链表
Người đứng đầu:
class LinkedList {
constructor(head = null) {
this.head = head
}
}
将它们合在一起
让我们用刚刚创建的类创建一个链表。 首先,我们创建两个表节点,nút1 和 nút2,以及他们之间的指针:
let node1 = new ListNode(2)
let node2 = new ListNode(5)
node1.next = node2
接着,我们使用 nút1 创建一个链表:
let list = new LinkedList(node1)
让我们尝试访问刚刚创建的列表中的节点:
console.log(list.head.next.data) //returns 5
一些链表方法:
接下来,我们将为链表实现四个 người trợ giúp 方法:
- kích thước()
- xa lạ()
- getList()
- getFirst()
1. kích thước()
该方法返回链表中存在的节点数:
size() {
let count = 0;
let node = this.head;
while (node) {
count++;
node = node.next
}
return count;
}
2. xóa()
该方法清空链表:
clear() {
this.head = null
}
3. danh sách nhận ()
该方法返回链表的最后一个节点:
getLast() {
let lastNode = this.head;
if (lastNode) {
while (lastNode.next) {
lastNode = lastNode.next
}
}
return lastNode
}
4. getFirst()
该方法返回链表第一个节点:
getFirst() {
return this.head;
}
Nguồn: Cách triển khai danh sách liên kết trong JavaScript,作者: Sarah Chima Atuonwu