链表
来源:互联网 发布:皇室战争电磁炮数据 编辑:程序博客网 时间:2024/04/30 10:43
最近在看《javascript的数据结构与算法》,将链表这一章重点内容总结下,方便日后复习!
对比与js中数组与链表:数组被实现为了对象,执行效率太慢!除了对数据的随机访问,链表几乎可以使用在任何一维数组的情况中。
链表简单构成:头结点--元素--元素--null
1.单向链表:
(1)增添:将新节点的 next 属性设置为“后面”节点的 next 属性对应的值,然后设置“后面”节点的 next 属性指向新节点(在元素后面添加)
newNode.next = current.next; current.next = newNode;(2)删除:遍历链表中的元素,检查每一个节点的下一个节点中是否存储着待删除数据。如果找到,返回该节点(即“前一个”节点)(在元素后面删除)
prevNode.next = prevNode.next.next //跳过了待删除结点
2.双向链表:
(1)添加:将新节点的 next 属性设置为“后面”节点的 next 属性对应的值,然后设置新节点的previous为“后面”节点,然后设置“后面”节点的 next 属性指向新节点
newNode.next = current.next; newNode.previous = current; current.next = newNode;
(2)删除:首先需要在链表中找出存储待删除数据的节点,然后设置该节点前驱的 next 属性,使其指向待删除节点的后继;设置该节点后继的 previous 属性,使其指 向待删除节点的前驱
currNode.previous.next = currNode.next; currNode.next.previous = currNode.previous; currNode.next = null; currNode.previous = null;
3.循环链表:
(1)添加:
newNode.next = current.next; current.next = newNode;
(2)删除:
prevNode.next = prevNode.next.next
0 0
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 链表
- 为什么进入大数据领域这么难
- java连接数据库后进行更新插入操作
- AOP:JDK动态代理 vs CGLIB代理
- java deleteOnExit方法
- 欢迎使用CSDN-markdown编辑器
- 链表
- Nim Game
- Linux下find(文件查找)命令使用实例总结
- sp_spaceused (Transact-SQL) SP中涉及哪些表
- JS实现HTML静态页传值的方法
- 2016/8/23
- WordPress 3.6-4.5.2 Authenticated Revision History Information Disclosure
- 第九天:JAVA中的多态,抽象类和接口
- Maven项目中,将普通工程修改为web工程办法