阅读 250

算法基础入门-数据结构-链表(数据结构链表的经典算法)

也许是对于数据处理这个技能自己太匮乏了,也没学习过算法,算是梳理下自己的知识点还有所学吧。

1.链表简介:

  • 多个元素组成的列表

  • 元素储存不连续,用next指针连在一起。

1.1数组和链表的区别:

  • 数组:增删非收尾元素时,往往需要移动元素

  • 链表:增删非收尾元素,不需要移动元素,只需要更改next的指向即可

2.JS中的链表

  • JavaScript中没有链表

  • 可以用Object模拟链表

2.1-JS模拟链表:

codePart:

//JS模拟链表 //声明多个对象 const Tmc = {val:"1号"}; const iverson = {val:"3号"}; const cart = {val:"15号"}; const kobe = {val:"24号"}; // 建立多个对象之间的联系 Tmc.next = iverson; iverson.next = cart; cart.next = kobe; 复制代码

如上图:

  • "1号麦迪"——> "3号艾弗森" ——> "15号卡特" ——> "24号科比"一层层的通过next关联起来

  • Tmc为链表的头部

2.2-链表遍历:

codePart:

//继续上面代码 let NBA4Stars = Tmc; while(NBA4Stars){   console.log("NBA球星:",NBA4Stars.val);   NBA4Stars = NBA4Stars.next; }; 复制代码

遍历链表步骤:

Step1:声明一个变量,指向链表的头部。(let NBA4Starts = Tmc)

Sept2:不停的在while循环体中重新设置新的自己。(NBA4Starts = NBA4Stars.next)

fn+f5后打开控制台结果如下图:

2.3-链表插入:

现在想要在3号艾弗森15号卡特之间插入一个12号贾.莫兰特

codePart:

const Morant = {val:"12号"}; iverson.next = Morant; Morant.next = cart; cart.next = kobe; 复制代码

插入操作后结果如下图:

2.4-链表删除:

原理和插入类型,也是改变next指针的指向

删除上面2.3例子中刚刚插入的12号莫兰特

iverson.next = cart;


作者:达摩会武术
链接:https://juejin.cn/post/7035500536279334943

 伪原创工具 SEO网站优化  https://www.237it.com/


文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐