为了账号安全,请及时绑定邮箱和手机立即绑定

【学习打卡】第三天 数据结构和算法

数据结构 - 链表

链表是什么?

链表也是多个元素组成的列表。
和数组不同的是,链表的存储不是连续的,用next指针来连接起来。
js中的链表使用Object来实现。

class ListNode {
  constructor(val, next) {
    this.val = val;
    this.next = next;
  }
}

举例说明链表
图片描述

const a = {val: 'a'},
const b = {val: 'b'},
const c = {val: 'c'},
const d = {val: 'd'},

a.next = b
b.next = c
c.next = d
d.next = null

数组 vs 链表

  • 数组的存储是连续的,增删非首尾元素往往需要移动其他元素。
  • 链表的存储不是连续的,增删非首尾元素不需要移动其他元素,只需要修改next的指向即可。

链表的基本操作

遍历链表

思路:
1、声明一个指针,默认指向头部
2、获取完当前值后,指针指向下一个链表元素
3、循环第二步,直至指针指向null结束

let p = a;
while(p) {
  console.log(p.val);
  p = p.next;
}
插入链表

思路:
1、将要插入的上一个元素的next指向插入元素
2、插入元素的next指向下一个元素

// 在 b 和 c 之间插入元素 e
const e = {val: 'e'};
b.next = e;
e.next = c;
删除链表

思路:
1、将要删除的上一个元素的next指向删除的下一个元素

// 删除c
b.next = d
点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消