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 相关文章推荐
再说AutoComplete自动补全之实现原理
Nov 05 Javascript
JavaScript中数组对象的那些自带方法介绍
Mar 12 Javascript
js捕获鼠标右键菜单中的粘帖事件实现代码
Apr 01 Javascript
JS实现随机化快速排序的实例代码
Aug 01 Javascript
Javascript中的几种继承方式对比分析
Mar 22 Javascript
js实现文字超出部分用省略号代替实例代码
Sep 01 Javascript
详解Node.js:events事件模块
Nov 24 Javascript
基于jQuery实现的幻灯图片切换
Dec 02 Javascript
mongoose更新对象的两种方法示例比较
Dec 19 Javascript
jquery无缝图片轮播组件封装
Nov 25 jQuery
微信小程序收货地址API兼容低版本解决方法
May 18 Javascript
详解vue-cli@2.x项目迁移日志
Jun 06 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下尝试使用GraphicsMagick的缩略图功能
2011/01/01 PHP
PHP5.5和之前的版本empty函数的不同之处
2014/06/13 PHP
PHP开发中常用的十个代码样例
2016/02/02 PHP
php中foreach结合curl实现多线程的方法分析
2016/09/22 PHP
PHP编译configure时常见错误的总结
2017/08/17 PHP
添加到收藏夹代码(兼容几乎所有的浏览器)
2007/01/09 Javascript
javascript eval和JSON之间的联系
2009/12/31 Javascript
jQuery 表格插件整理
2010/04/27 Javascript
js实现倒计时(距离结束还有)示例代码
2013/07/24 Javascript
js中的getAttribute方法使用示例
2014/08/01 Javascript
基于jQuery的JavaScript模版引擎JsRender使用指南
2014/12/29 Javascript
JS数组合并push与concat区别分析
2015/12/17 Javascript
jQuery.datatables.js插件用法及api实例详解
2016/10/28 Javascript
微信小程序 地图map详解及简单实例
2017/01/10 Javascript
js数组与字符串常用方法总结
2017/01/13 Javascript
jQuery为DOM动态追加事件的方法
2017/02/16 Javascript
基于jQuery实现文字打印动态效果
2017/04/21 jQuery
Vue 2中ref属性的使用方法及注意事项
2017/06/12 Javascript
js设置随机切换背景图片的简单实例
2017/11/12 Javascript
vue.js轮播图组件使用方法详解
2018/07/03 Javascript
微信小程序 SOTER 生物认证DEMO 指纹识别功能
2019/12/13 Javascript
vue中后端做Excel导出功能返回数据流前端的处理操作
2020/09/08 Javascript
[03:38]2014DOTA2西雅图国际邀请赛 VG战队巡礼
2014/07/07 DOTA
[49:31]DOTA2-DPC中国联赛 正赛 Elephant vs LBZS BO3 第二场 1月29日
2021/03/11 DOTA
记录Django开发心得
2014/07/16 Python
Python3基础之条件与循环控制实例解析
2014/08/13 Python
Python字符串替换实例分析
2015/05/11 Python
Python利用turtle库绘制彩虹代码示例
2017/12/20 Python
基于python实现学生管理系统
2018/10/17 Python
python opencv 检测移动物体并截图保存实例
2020/03/10 Python
萨克斯第五大道精品百货店: Saks Fifth Avenue
2017/04/28 全球购物
const和static readonly区别
2013/05/20 面试题
汽修专业学生自我鉴定
2013/11/16 职场文书
计算机系本科生求职信
2014/05/31 职场文书
大学生操行评语大全
2014/12/31 职场文书
一篇文章学会Vue中间件管道
2021/06/20 Vue.js