热门搜索 :
考研考公
您的当前位置:首页正文

js中如何查找链表元素

2024-07-17 来源:伴沃教育

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

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开始,遍历整个链表,直到找到相应索引位置的节点,然后返回节点。

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学习指路:

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

伴沃教育还为您提供以下相关内容希望对您有帮助:

我该怎么在js里获取后台查询到的list

1、首先创建如下空链表,添加数据到链表中。2、输出显示链表中的内容。3、调用front获取list容器中的头部信息。4、输出如下所示的数据,是list容器中的第一个信息。5、调用back获取list容器中的尾部信息。6、输出如下所示的数据,是list容器中的最后一个信息。7、如果想要查找list容器中的某个元素,通过...

js 删除链表中重复的节点

题目描述: 给定一个排序的链接列表,删除所有具有重复数字的节点,从原始列表中只留下不同的数字。 例如, 给定1-&gt; 2-&gt; 3-&gt; 3-&gt; 4-&gt; 4-&gt; 5,返回1-&gt; 2-&gt; 5。 给定1-&gt; 1-&gt; 1-&gt; 2-&gt; 3,返回2-&gt; 3。JavaScript 版数据结构与算法(三)链表 可以看出JavaScript中的链...

js数组和链表的区别

再从物理存储即内存分配上分析,数组是连续的内存,对于访问数据,可以通过下标直接读取,时间复杂度为O(1),而添加删除数据就比较麻烦,需要移动操作数所在位置后的所有数据,时间复杂度为O(N)。链表是物理上非连续的内存空间,对于访问数据,需要从头便利整个链表直到找到要访问的数据,没有数组有效,但...

【JS算法】 删除链表中某个节点

给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。输入:head = [1,2,6,3,4,5,6] val = 6 输出:[1,2,3,4,5]

js数组和链表的区别

如果数据的顺序很重要,就用数组,否则就用对象。当然,数组和对象的另一个区别是,数组的数据没有”名称”(name),对象的数据有”名称”(name)。但是问题是,很多编程语言中,都有一种叫做”关联数组”(associative array)的东西。这种数组中的数据是有名称的。java数组的应用教程:

数组和链表

但是 链表要想随机访问第 k 个元素,就没有数组那么高效了。因为链表中的数据并非连续存储的,所以无法像数组那样,根据首地址和下标,通过 寻址公式  就能直接计算出对应的内存地址,而是需要根据指针一个结点一个结点地依次遍历,直到找到相应的结点,所以时间复杂度为 O(n)...

js数据结构中双向链表能不能插入数组?

这样?创建一个新的insert方法 function insert(array){ for(var i=0;i&lt;array.length;i++){ xxx.insert(array[i]);} } var array=[1,2,3];//这里获取到数组值 insert(array);//传进去

js怎么实现点击图片预览后在客户区点击左边显示左箭头

1、首先,创建一个图片列表,并给每个图片绑定点击事件,当点击图片时,打开一个蒙层,并将图片克隆到蒙层中,设置为原图片的位置,然后通过CSS3的transform属性实现图片的放大和居中效果。2、其次,在蒙层中添加两个箭头元素,并设置为绝对定位,分别位于客户区的左右两侧。可以通过CSS的伪元素或SVG来...

计算机有哪些存储结构

数组中的数据,在计算机的存储器中,也是按顺序存储在连续的位置中。当我们寻找需要的数据时,通过格子中的索引,便可以找到数据。2、链表 链表的存储方式有些像地址和住宅的关系,地址可以写在一张纸上,但是这并不代表住宅也紧密相邻。链表中的数据在计算机中也是分散地存储在各个地方,但是链表里面除了...

大厂前端对算法有什么要求?

当执行检索操作的时候,由于顺序表直接使用下标进行随机访问,而链表需要从头开始访问一一匹配才可以得到使用的元素,这个时间也是和链表的结点个数成正比的。所以我们每一种数据结构对于不同的算法会产生不同的效果,各自没有绝对的好,也没有绝对的不好,他们都有自己的应用价值和方式;这样我们就可以在...

Top