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之大字符串的连接的StringBuffer 类
May 08 Javascript
Dom加载让图片加载完再执行的脚本代码
May 15 Javascript
jQuery 开天辟地入门篇一
Dec 09 Javascript
jQuery文本框(input textare)事件绑定方法教程
Apr 24 Javascript
js判断字符长度以及中英文数字等
Dec 31 Javascript
NODE.JS加密模块CRYPTO常用方法介绍
Jun 05 Javascript
浅谈js里面的InttoStr和StrtoInt
Jun 14 Javascript
js时间比较 js计算时间差的简单实现方法
Aug 26 Javascript
浅谈js数据类型判断与数组判断
Aug 29 Javascript
JavaScript获取tr td 的三种方式全面总结(推荐)
Aug 15 Javascript
JS学习笔记之贪吃蛇小游戏demo实例详解
May 29 Javascript
Element Rate 评分的使用方法
Jul 27 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 session常见问题集锦及解决办法总结
2007/03/18 PHP
ThinkPHP模板中数组循环实例
2014/10/30 PHP
PHP url的pathinfo模式加载不同控制器的简单实现
2016/08/12 PHP
Laravel接收前端ajax传来的数据的实例代码
2017/07/20 PHP
PHP中number_format()函数的用法讲解
2019/04/08 PHP
jquery中:input和input的区别分析
2011/07/13 Javascript
Javascript判断图片尺寸大小实例分析
2014/06/16 Javascript
js选项卡的实现方法
2015/02/09 Javascript
学习javascript面向对象 理解javascript对象
2016/01/04 Javascript
JavaScript实现点击按钮直接打印
2016/01/06 Javascript
浅谈JS继承_借用构造函数 & 组合式继承
2016/08/16 Javascript
EasyUI创建对话框的两种方式
2016/08/23 Javascript
AngularJS下对数组的对比分析
2016/08/24 Javascript
JavaScript探测CSS动画是否已经完成的方法
2016/08/30 Javascript
基于javascript实现的快速排序
2016/12/02 Javascript
写jQuery插件时的注意点
2017/02/20 Javascript
原生js仿淘宝网商品放大镜效果
2017/02/28 Javascript
移动端刮刮乐的实现方式(js+HTML5)
2017/03/23 Javascript
对angular 监控数据模型变化的事件方法$watch详解
2018/10/09 Javascript
jQuery表单元素过滤选择器用法实例分析
2019/02/20 jQuery
详解async/await 异步应用的常用场景
2019/05/13 Javascript
js实现图片区域可点击大小随意改变(适用移动端)代码实例
2019/09/11 Javascript
小程序跳转到的H5页面再跳转回跳小程序的方法
2020/03/06 Javascript
Python EOL while scanning string literal问题解决方法
2020/09/18 Python
python处理DICOM并计算三维模型体积
2019/02/26 Python
Python绘制股票移动均线的实例
2019/08/24 Python
Python 取numpy数组的某几行某几列方法
2019/10/24 Python
wxpython绘制音频效果
2019/11/18 Python
tensorflow实现tensor中满足某一条件的数值取出组成新的tensor
2020/01/04 Python
Python面向对象程序设计之继承、多态原理与用法详解
2020/03/23 Python
增大python字体的方法步骤
2020/07/05 Python
常用的HTML5列表标签
2017/06/20 HTML / CSS
英国街头品牌:Bee Inspired Clothing
2018/02/12 全球购物
高级销售员求职信
2013/10/25 职场文书
法人代表资格证明书
2015/06/18 职场文书
培训计划通知
2015/07/15 职场文书