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字符串对象replace方法实例(用于字符串替换或正则替换)
Oct 16 Javascript
JavaScript实现的链表数据结构实例
Apr 02 Javascript
jquery插件hiAlert实现网页对话框美化
May 03 Javascript
使用jQuery制作Web页面遮罩层插件的实例教程
May 26 Javascript
利用策略模式与装饰模式扩展JavaScript表单验证功能
Feb 14 Javascript
js常用的继承--组合式继承
Mar 06 Javascript
Angular中自定义Debounce Click指令防止重复点击
Jul 26 Javascript
基于jQuery的表单填充实例
Aug 22 jQuery
vue实现底部菜单功能
Jul 24 Javascript
javascript中的闭包概念与用法实践分析
Jul 26 Javascript
解决layer.open后laydate失效的问题
Sep 06 Javascript
VUEX 数据持久化,刷新后重新获取的例子
Nov 12 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
Terran剧情介绍
2020/03/14 星际争霸
discuz安全提问算法
2007/06/06 PHP
将PHP的session数据存储到数据库中的代码实例
2016/06/24 PHP
php结合mysql与mysqli扩展处理事务的方法
2016/06/29 PHP
PHP实现的统计数据功能详解
2016/12/06 PHP
thinkPHP3.2.3结合Laypage实现的分页功能示例
2018/05/28 PHP
PHP防止sql注入小技巧之sql预处理原理与实现方法分析
2019/12/13 PHP
javaScript矢量图表库-gRaphael几行代码实现精美的条形图/饼图/点图/曲线图
2013/01/09 Javascript
js Date概念详细介绍
2013/11/22 Javascript
jquery Ajax 实现加载数据前动画效果的示例代码
2014/02/07 Javascript
用js模拟struts2的多action调用示例
2014/05/19 Javascript
Javascript中设置默认参数值示例
2014/09/11 Javascript
基于jQuery实现文本框缩放以及上下移动功能
2014/11/24 Javascript
js生成验证码并直接在前端判断
2015/05/15 Javascript
使用postMesssage()实现跨域iframe页面间的信息传递方法
2016/03/29 Javascript
Bootstrap源码解读标签、徽章、缩略图和警示框(8)
2016/12/26 Javascript
AngularJS使用ng-app自动加载bootstrap框架问题分析
2017/01/04 Javascript
jQuery插件HighCharts实现的2D堆条状图效果示例【附demo源码下载】
2017/03/14 Javascript
微信小程序实现左右联动的实战记录
2018/07/05 Javascript
Vue实现移动端左右滑动效果的方法
2018/11/27 Javascript
vue.js 输入框输入值自动过滤特殊字符替换中问标点操作
2020/08/31 Javascript
python基础教程之lambda表达式使用方法
2014/02/12 Python
Python单例模式实例分析
2015/01/14 Python
Python实现好友全头像的拼接实例(推荐)
2017/06/24 Python
详解supervisor使用教程
2017/11/21 Python
用Pelican搭建一个极简静态博客系统过程解析
2019/08/22 Python
基于nexus3配置Python仓库过程详解
2020/06/15 Python
python和js交互调用的方法
2020/06/23 Python
Python中flatten( ),matrix.A用法说明
2020/07/05 Python
总务岗位职责
2013/11/19 职场文书
机电一体化专业推荐信
2013/12/03 职场文书
会计核算科岗位职责
2014/03/19 职场文书
植物生产学专业求职信
2014/08/08 职场文书
六一晚会主持词开场白
2015/05/28 职场文书
迎国庆主题班会
2015/08/17 职场文书
Go gorilla securecookie库的安装使用详解
2022/08/14 Golang