Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【说站】js中如何查找链表元素

【说站】js中如何查找链表元素

作者头像
很酷的站长
发布于 2022-11-24 06:53:37
发布于 2022-11-24 06:53:37
2.5K00
代码可运行
举报
运行总次数:0
代码可运行

js中如何查找链表元素

1、实现indexOf方法,将给定元素返回链表中的索引位置。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
indexOf (element) {
    //从链表的头部开始遍历,直到找到和给定元素相同的元素,然后返回对应的索引号。如果没有找到对应的元素,则返回-1。
    let current = this.head;
 
    for (let i = 0; i < this.length; i++) {
        if (current.element === element) return i;
        current = current.next;
    }
 
    return -1;
}

2、实现find方法,用于查找链表中指定位置的节点。从链表的head开始,遍历整个链表,直到找到相应索引位置的节点,然后返回节点。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
find(position) {
    //首先判断参数position的边界值,如果值超出了索引的范围(小于0或者大于length - 1),则返回null
    if (position < 0 || position >= this.length) return null;
 
    //从链表的head开始,遍历整个链表直到找到对应索引位置的节点,然后返回这个节点。
    let current = this.head;
    for (let i = 0; i < position; i++) {
        current = current.next;
    }
    return current;
}

以上就是js中查找链表元素的方法,希望对大家有所帮助。更多js学习指路:js教程

推荐操作环境:windows7系统、jquery3.2.1版本,DELL G3电脑。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【说站】js中removeat删除节点的方法
2、若要删除的节点是链表的头部,只需将head移动到下一个节点即可。如果目前链表只有一个节点,那么下一个节点是null。
很酷的站长
2022/11/24
3.7K0
【说站】js中removeat删除节点的方法
【说站】js链表结构如何实现
1、可以构建一个Node类来描述链表中的节点。这一类有两个属性,一个用来保存节点的值,另一个用来保存指向下一个节点的指针。
很酷的站长
2022/11/24
1.3K0
【说站】js链表结构如何实现
【说站】js中insert如何插入节点
以上就是js中insert插入节点的方法,希望对大家有所帮助。更多js学习指路:js教程
很酷的站长
2022/11/24
2.9K0
【说站】js中insert如何插入节点
《javascript数据结构和算法》读书笔记(3):链表
储存多个元素,数组是最常用的。无论何种语言,都实现了数组。但是大多数语言中,数组的长度是固定的。数组修改操作的成本非常高。
一粒小麦
2019/07/18
4600
《javascript数据结构和算法》读书笔记(3):链表
【算法】213-每周一练 之 数据结构与算法(LinkedList)
这些都是数据结构与算法,一部分方法是团队其他成员实现的,一部分我自己做的,有什么其他实现方法或错误,欢迎各位大佬指点,感谢。
pingan8787
2019/07/25
6580
【算法】213-每周一练 之 数据结构与算法(LinkedList)
双向链表[js实现] 【7】
对于这个方法,我们可以通过元素找到相应的索引,然后再通过索引删除相应的元素。这里完全可以去调用我们之前写好的indexOf()方法和removeAt()方法即可。
用户4793865
2023/01/12
3070
双向链表[js实现] 【7】
数据结构知否知否系列之 — 线性表的顺序与链式存储篇(8000 多字长文)
线性表是由 n 个数据元素组成的有限序列,也是最基本、最简单、最常用的一种数据结构。
五月君
2019/09/12
7880
数据结构知否知否系列之 — 线性表的顺序与链式存储篇(8000 多字长文)
前端学习 数据结构与算法 快速入门 系列 —— 链表(转载非原创)
转载来源:https://www.cnblogs.com/pengjiali/p/15320535.html
xlj
2021/09/23
8611
一文带你拿下前端必备数据结构 -- 链表 !!
链表是一组由节点组成的集合,每个节点都有一个指针指向它的下一个节点。举个栗子来说,就像上图的小火车一样,每一节车厢之间都通过绳索相连接,每节车厢都是一个节点,车厢间的连接就是指针❤️
小丞同学
2021/08/16
7890
JS面试之数据结构与算法 (5)
JS面试之函数(1) JS面试之对象(2) JS面试之数组的几个不low操作(3) JS面试之http0.9~3.0对比分析(4)
火狼1
2019/04/17
9920
JS面试之数据结构与算法 (5)
链表和双向链表的实现
前言 ---- 链表中的数据通过指针连接,添加、插入或删除节点只需要修改指针指向 实现思路 实现一个链表需要具备以下方法 在链表尾部添加节点 获取链表所有节点的数据 链表指定位置插入元素 获取链表指定位置的节点数据 获取节点在链表中的位置 更新链表指定位置的数据 移除链表指定位置的节点 移除链表中的指定节点 判断链表是否为空 获取链表长度 链表内部需要定义head指针和链表长度 实现代码 定义head指针和length存储链表长度 定义节点类 function LinkedList() {
peng_tianyu
2022/12/15
7590
链表和双向链表的实现
「算法与数据结构」JavaScript中的链表
此文会先探讨下什么是链表以及在 JavaScript 中的链表,接着我们会使用 JavaScript 这门语言动手实现下各类链表的设计,最后我们会抛出一些常规疑问,并从各个方面一一解答,总之,目的就是完全搞定链表
isboyjc
2022/03/28
9240
「算法与数据结构」JavaScript中的链表
【数据结构与算法】详解什么是双向链表,并用代码手动实现一个双向链表
上一篇文章讲解了链表的相关知识,并用代码实现了一个链表结构。那么本文将介绍一下另一种特殊的链表结构,叫做 双向链表。 顾名思义,普通的链表都是从 head 开始往后遍历结构内的元素,那么双向链表就是既可以从头开始遍历,又可以从结构的末尾开始遍历。
@零一
2021/01/29
6480
【数据结构与算法】详解什么是双向链表,并用代码手动实现一个双向链表
Js算法与数据结构拾萃(3):链表
对于一个数组,想要做篡改是复杂度是非常高的,设想你接到一个需求,让你记录存储一个人的简历,你用数组储存,可能是这样的:
一粒小麦
2020/02/25
6500
【数据结构与算法】详解什么是链表,并用代码手动实现一个链表结构
本文将来讲解一下一种常见的线性数据结构—链表,因为链表和数组一样都是一种线性的数据结构,但是它俩的实现原理是完全不同的,所以在讲解链表之前,我们来回顾一下数组结构。
@零一
2021/01/29
3930
【数据结构与算法】详解什么是链表,并用代码手动实现一个链表结构
JavaScript实现单向链表数据结构
学习过数据结构的人都应该清楚,链表是一种动态的数据结构,这意味着我们可以从中任意添加或移除项,它会按需进行扩容。链表存储有序的元素集合,但不同于数组,链表中的元素在内存中并不是连续放置的。每个元素由一个存储元素本身的节点和一个指向下一个元素的引用(也称指针或链接)组成。下图展示了一个链表的结构:
OECOM
2020/07/02
1.3K0
JavaScript实现单向链表数据结构
JS数据结构与算法-链表
一个链表的结构 现实中的举例说明就是火车。每节车厢是链表的元素,车厢间的连接就是指针:
Ewall
2018/09/04
1K0
JS数据结构与算法-链表
重读《学习JavaScript数据结构与算法-第三版》- 第6章 链表(一)
本章为重读《学习JavaScript数据结构与算法》的系列文章,该章节主要讲述数据结构-链表,以及实现链表的过程和原理。
胡哥有话说
2019/08/27
4540
重读《学习JavaScript数据结构与算法-第三版》- 第6章 链表(一)
趣味算法:JS实现红绳算法(匹配合适的另一半)
分析这个数据的意义 城市:留下数据者的所在城市,但是现在车、马、书信都很快,所以这并不是我们用来界定男女是否匹配的依据,只能说是有特殊需求,例如不接受异地恋的这种就匹配,本次我们不考虑 数字:就算是幸运数字吧 如何让大家匹配上?(合理且随机) 用HashTable(也叫HashMap)的数据结构存储大家的信息 对于可能出现冲突的hash值,使用分离链接或者线性探测解决冲突 于小姐姐稀缺,小哥哥太多,于是本次不区分性别(泪奔) 正式开始 什么是hashTable 散列表(Hash table,也叫哈希表),
Peter谭金杰
2020/08/28
7250
趣味算法:JS实现红绳算法(匹配合适的另一半)
TypeScript 实战算法系列(三):实现链表与变相链表
链表作为一种数据结构,它存放着有序元素的集合。元素与元素之间通过指针连接,因此在链表中添加或删除元素只需要修改指针的指向即可,执行速度相比数组有得到显著的提升。 现实生活中也有许多使用到链表的例子,例如兔子舞,每个人勾肩搭背组合而成,其中人相当于链表中的元素,勾肩搭背的手相当于链接每个人的指针,在队列中加入一个人,只需要找到想加入的点,断开连接,插入一个人再重新连接起来。 本文将详解链表以及链表其他变相的实现思路并使用TypeScript将其实现,欢迎各位感兴趣的开发者阅读本文。
一只图雀
2020/08/26
1.9K0
推荐阅读
相关推荐
【说站】js中removeat删除节点的方法
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验