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 相关文章推荐
js 多种变量定义(对象直接量,数组直接量和函数直接量)
May 24 Javascript
使用jquery prev()方法找到同级的前一个元素
Jul 11 Javascript
js验证手机号、密码、短信验证码代码工具类
Jun 24 Javascript
jquery单击文字或图片内容放大并居中显示
Jun 23 jQuery
JavaScript 获取元素在父节点中的下标(推荐)
Jun 28 Javascript
二维码图片生成器QRCode.js简单介绍
Aug 18 Javascript
JS实现导出Excel的五种方法详解【附源码下载】
Mar 15 Javascript
单页面vue引入百度统计的使用方法示例详解
Oct 13 Javascript
javascript中的数据类型检测方法详解
Aug 07 Javascript
VUE路由动态加载实例代码讲解
Aug 26 Javascript
关于vue路由缓存清除在main.js中的设置
Nov 06 Javascript
JS中类的静态方法,静态变量,实例方法,实例变量区别与用法实例分析
Mar 14 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
德生PL450的电路分析和低放电路的改进办法
2021/03/02 无线电
SONY SRF-22W(33W)的电路分析和维修案例
2021/03/02 无线电
php 获取一个月第一天与最后一天的代码
2010/05/16 PHP
php的mkdir()函数创建文件夹比较安全的权限设置方法
2014/07/28 PHP
php使用pclzip类实现文件压缩的方法(附pclzip类下载地址)
2016/04/30 PHP
PHP类的特性实例分析
2016/09/28 PHP
Laravel配合jwt使用的方法实例
2020/10/25 PHP
javascript 日历提醒系统( 兼容所有浏览器 )
2009/04/07 Javascript
一个很简单的jquery+xml+ajax的无刷新树结构(无css,后台是c#)
2010/06/02 Javascript
JavaScript获取onclick、onchange等事件值的代码
2013/07/22 Javascript
text-align:justify实现文本两端对齐 兼容IE
2015/08/19 Javascript
基于JavaScript实现 网页切出 网站title变化代码
2016/04/03 Javascript
在网页中插入百度地图的步骤详解
2016/12/02 Javascript
Angular-Touch库用法示例
2016/12/22 Javascript
JavaScript限定范围拖拽及自定义滚动条应用(3)
2017/05/17 Javascript
关于redux-saga中take使用方法详解
2018/02/27 Javascript
JavaScript实现英语单词题库
2019/12/24 Javascript
js实现无缝轮播图效果
2020/03/09 Javascript
ES2020 已定稿,真实场景案例分析
2020/05/25 Javascript
easyUI 实现的后台分页与前台显示功能示例
2020/06/01 Javascript
在Python的web框架中中编写日志列表的教程
2015/04/30 Python
Python字符串转换成浮点数函数分享
2015/07/24 Python
独特的python循环语句
2016/11/20 Python
python去除空格和换行符的实现方法(推荐)
2017/01/04 Python
python实现画一颗树和一片森林
2018/06/25 Python
详解Python3.6的py文件打包生成exe
2018/07/13 Python
pygame实现俄罗斯方块游戏(AI篇1)
2019/10/29 Python
Python实现文件压缩和解压的示例代码
2020/08/12 Python
python中scipy.stats产生随机数实例讲解
2021/02/19 Python
校园达人秀策划书
2014/01/12 职场文书
法学院方阵解说词
2014/01/29 职场文书
幼儿园六一儿童节主持节目串词
2014/03/21 职场文书
班干部竞选演讲稿
2014/04/24 职场文书
党员教师四风自我剖析材料
2014/09/30 职场文书
2015年办公室人员工作总结
2015/05/15 职场文书
审查起诉阶段律师意见书
2015/05/19 职场文书