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 相关文章推荐
ymPrompt的doHandler方法来实现获取子窗口返回值的方法
Jun 25 Javascript
详解javascript传统方法实现异步校验
Jan 22 Javascript
最棒的Angular2表格控件
Aug 10 Javascript
AngularJS国际化详解及示例代码
Aug 18 Javascript
微信小程序页面间通信的5种方式
Mar 31 Javascript
BootStrap 表单控件之单选按钮水平排列
May 23 Javascript
微信小程序实现MUI数字输入框效果
Jan 31 Javascript
微信小程序滑动选择器的实现代码
Aug 10 Javascript
vue实现百度搜索功能
Dec 28 Javascript
微信小程序实现二维码签到考勤系统
Jan 16 Javascript
JavaScript常用进制转换及位运算实例解析
Oct 14 Javascript
jQuery class属性操作addClass()与removeClass()、hasClass()、toggleClass()
Mar 31 jQuery
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读取30天之内的根据算法排序的代码
2008/04/06 PHP
php 禁止页面缓存输出
2009/01/07 PHP
一步一步学习PHP(7) php 字符串相关应用
2010/03/05 PHP
PHP下使用CURL方式POST数据至API接口的代码
2013/02/14 PHP
php使用filter过滤器验证邮箱 ipv6地址 url验证
2013/12/25 PHP
PHP中使用addslashes函数转义的安全性原理分析
2014/11/03 PHP
php注册和登录界面的实现案例(推荐)
2016/10/24 PHP
PHP jpgraph库的配置及生成统计图表:折线图、柱状图、饼状图
2017/05/15 PHP
js removeChild 障眼法 可能出现的错误
2009/10/06 Javascript
jquery 笔记 事件
2011/11/02 Javascript
用js的document.write输出的广告无阻塞加载的方法
2014/06/05 Javascript
Javascript动画效果(2)
2016/10/11 Javascript
用jquery的attr方法实现图片切换效果
2017/02/05 Javascript
轻松实现jQuery添加删除按钮Click事件
2017/03/13 Javascript
jQuery remove()过滤被删除的元素(推荐)
2017/07/18 jQuery
ionic选择多张图片上传的示例代码
2017/10/10 Javascript
javascript实现小型区块链功能
2019/04/03 Javascript
vue项目中使用fetch的实现方法
2019/04/25 Javascript
Node.js系列之发起get/post请求(2)
2019/08/30 Javascript
解决layui 三级联动下拉框更新时回显的问题
2019/09/03 Javascript
深入源码解析Python中的对象与类型
2015/12/11 Python
Python利用字典将两个通讯录文本合并为一个文本实例
2018/01/16 Python
python opencv之分水岭算法示例
2018/02/24 Python
django rest framework 实现用户登录认证详解
2019/07/29 Python
docker-py 用Python调用Docker接口的方法
2019/08/30 Python
keras-siamese用自己的数据集实现详解
2020/06/10 Python
python实现人性化显示金额数字实例详解
2020/09/25 Python
大学四年学习的自我评价分享
2013/12/09 职场文书
英语专业学生个人求职信范文
2014/01/06 职场文书
秋天的雨教学反思
2014/04/27 职场文书
2015年度合同管理工作总结
2015/05/22 职场文书
刑事案件上诉状
2015/05/23 职场文书
优秀党员主要事迹范文
2015/11/05 职场文书
少先大队干部竞选稿
2015/11/20 职场文书
pytorch锁死在dataloader(训练时卡死)
2021/05/28 Python
刚学完怎么用Python实现定时任务,转头就跑去撩妹!
2021/06/05 Python