JavaScript 链表定义与使用方法示例


Posted in Javascript onApril 28, 2020

本文实例讲述了JavaScript 链表定义与使用方法。分享给大家供大家参考,具体如下:

链表

一个 链表 是数据元素的线性集合, 元素的线性顺序不是由它们在内存中的物理位置给出的。 相反, 每个元素指向下一个元素。它是由一组节点组成的数据结构,这些节点一起,表示序列。

链表的一个缺点是访问时间是线性的(而且难以管道化)。

class Node {
 constructor(val) {
  this.val = val;
  this.next = null;
 }
}

显示链表

function display () {
  var currNode = this.head;
  while ( !(currNode.next == null) ){
    console.log( currNode.next.element );
    currNode = currNode.next;
  }
}

查找

function find ( item ) {
  var currNode = this.head;
  while ( currNode.element != item ){
    currNode = currNode.next;
  }
  return currNode;
}

插入

function insert ( newElement , item ) {
  var newNode = new Node( newElement );
  var currNode = this.find( item );
  newNode.next = currNode.next;
  currNode.next = newNode;
}

删除

function findPrev( item ) {
  var currNode = this.head;
  while ( !( currNode.next == null) && ( currNode.next.element != item )){
    currNode = currNode.next;
  }
  return currNode;
}

function remove ( item ) {
  var prevNode = this.findPrev( item );
  if( !( prevNode.next == null ) ){
    prevNode.next = prevNode.next.next;
  }
}

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试上述代码运行效果。

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
老鱼 浅谈javascript面向对象编程
Mar 04 Javascript
Jquery和JS用外部变量获取Ajax返回的参数值的方法实例(超简单)
Jun 17 Javascript
ExtJS4中的requires使用方法示例介绍
Dec 03 Javascript
Javascript的&&和||的另类用法
Jul 23 Javascript
javascript中的Base64、UTF8编码与解码详解
Mar 18 Javascript
jQuery模仿京东/天猫商品左侧分类导航菜单效果
Jun 29 Javascript
AngularJS 依赖注入详解及示例代码
Aug 17 Javascript
jQuery 全选 全部选 反选 实现代码
Aug 17 Javascript
switchery按钮的使用方法
Dec 18 Javascript
vue组件传递对象中实现单向绑定的示例
Feb 28 Javascript
原生js+canvas实现贪吃蛇效果
Aug 02 Javascript
Vue路由 重定向和别名的区别说明
Sep 09 Javascript
Vue 3.0 全家桶抢先体验
Apr 28 #Javascript
React生命周期原理与用法踩坑笔记
Apr 28 #Javascript
js最全的数组的降维5种办法(小结)
Apr 28 #Javascript
JS数组降维的实现Array.prototype.concat.apply([], arr)
Apr 28 #Javascript
React中Ref 的使用方法详解
Apr 28 #Javascript
在Webpack中用url-loader处理图片和字体的问题
Apr 28 #Javascript
react PropTypes校验传递的值操作示例
Apr 28 #Javascript
You might like
PHP 图片水印类代码
2012/08/27 PHP
php教程之phpize使用方法
2014/02/12 PHP
php 替换文章中的图片路径,下载图片到本地服务器的方法
2018/02/06 PHP
javascript setAttribute, getAttribute 在不同浏览器上的不同表现
2010/08/05 Javascript
Javascript中的delete介绍
2012/09/02 Javascript
jQuery/CSS3图片特效插件整理推荐
2014/12/07 Javascript
AngularJS中取消对HTML片段转义的方法例子
2015/01/04 Javascript
javascript中定义类的方法详解
2015/02/10 Javascript
js+div实现文字滚动和图片切换效果代码
2015/08/27 Javascript
BootStrap的JS插件之轮播效果案例详解
2016/05/16 Javascript
JS中的进制转换以及作用
2016/06/26 Javascript
javascript实现一个网页加载进度loading
2017/01/04 Javascript
JavaScript基本类型值-Number类型
2017/02/24 Javascript
vue实现样式之间的切换及vue动态样式的实现方法
2017/12/19 Javascript
vue 项目常用加载器及配置详解
2018/01/22 Javascript
Vue2.0中三种常用传值方式(父传子、子传父、非父子组件传值)
2018/08/16 Javascript
jQuery+ajax实现批量删除功能完整示例
2019/06/06 jQuery
[01:28:24]NAVI vs VG Supermajor 败者组 BO3 第三场 6.5
2018/06/06 DOTA
深入理解Python中装饰器的用法
2016/06/28 Python
Python利用sqlacodegen自动生成ORM实体类示例
2019/06/04 Python
Python定时发送天气预报邮件代码实例
2019/09/09 Python
python操作docx写入内容,并控制文本的字体颜色
2020/02/13 Python
Python xmltodict模块安装及代码实例
2020/10/05 Python
matplotlib部件之套索Lasso的使用
2021/02/24 Python
毕业生毕业总结的自我评价范文
2013/11/02 职场文书
市政管理求职信范文
2014/05/07 职场文书
民主生活会批评与自我批评总结
2014/10/17 职场文书
2014年保洁员工作总结
2014/11/19 职场文书
2015年校长新年寄语
2014/12/08 职场文书
2014年度个人总结范文
2015/03/09 职场文书
《活见鬼》教学反思
2016/02/24 职场文书
工程移交协议书
2016/03/24 职场文书
7个你应该知道的JS原生错误类型
2021/04/29 Javascript
pytorch交叉熵损失函数的weight参数的使用
2021/05/24 Python
关于EntityWrapper的in用法
2022/03/22 Java/Android
python热力图实现的完整实例
2022/06/25 Python