npm 包 @humanwhocodes/doubly-linked-list 使用教程

阅读时长 4 分钟读完

什么是双向链表?

双向链表(Doubly Linked List)是一种常见的数据结构,它由多个节点组成,每个节点有两个指针,一个指向前一个节点,一个指向后一个节点。双向链表支持从前往后和从后往前遍历节点,对于插入和删除节点操作,其时间复杂度都是 O(1)。

为什么要使用 @humanwhocodes/doubly-linked-list?

JavaScript 中没有内置的双向链表数据类型,但是在很多情况下需要使用到链表数据结构,比如实现 LRU 缓存算法、实现浏览器的前进后退、实现某些算法等等。@humanwhocodes/doubly-linked-list 是一个 npm 包,提供了一个简单易用的双向链表实现。

如何使用 @humanwhocodes/doubly-linked-list?

安装

使用 npm 包管理器安装 @humanwhocodes/doubly-linked-list,命令如下:

引入

在代码中引入 @humanwhocodes/doubly-linked-list,命令如下:

创建链表

使用如下方式创建一个链表:

插入节点

使用如下方式在链表头部插入一个节点:

使用如下方式在链表尾部插入一个节点:

遍历节点

使用如下方式从头部遍历节点并输出节点数据:

使用如下方式从尾部遍历节点并输出节点数据:

删除节点

使用如下方式从头部删除一个节点:

使用如下方式从尾部删除一个节点:

示例代码

-- -------------------- ---- -------
----- ---------------- - ---------------------------------------------

----- ---- - --- -------------------

-------------- ----- -------- ---
----------- ----- -------- ---
-------------- ----- ----- ---
----------- ----- ------- ---

----------------------
--- ------- - ----------
----- -------- --- ----- -
  --------------------------
  ------- - -------------
-

----------------------
------- - ----------
----- -------- --- ----- -
  --------------------------
  ------- - -------------
-

-------------
-----------

----------------------
------- - ----------
----- -------- --- ----- -
  --------------------------
  ------- - -------------
-

输出结果如下:

-- -------------------- ---- -------
------
--
-----
-----
----
------
----
-----
-----
--
------
-----
-----

总结

双向链表是一种常用的数据结构,对于实现某些算法和设计某些系统都有很大的帮助,但是 JavaScript 中没有内置的链表数据类型。@humanwhocodes/doubly-linked-list 是一个简单易用的 npm 包,提供了一个双向链表数据结构的实现,可以方便地在 JavaScript 中使用。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600672513660cf7123b3631e

纠错
反馈