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 类与静态类的实现(续)
Apr 02 Javascript
jQuery对象的selector属性用法实例
Dec 27 Javascript
js操作滚动条事件实例
Jan 29 Javascript
Jquery插件之Fancybox丰富的弹出层效果附源码下载
Dec 02 Javascript
Angular中$compile源码分析
Jan 28 Javascript
jQuery获取this当前对象子元素对象的方法
Nov 29 Javascript
JS实现的RGB网页颜色在线取色器完整实例
Dec 21 Javascript
利用vueJs实现图片轮播实例代码
Jun 03 Javascript
Vue数组更新及过滤排序功能
Aug 10 Javascript
@angular前端项目代码优化之构建Api Tree的方法
Dec 24 Javascript
js中复选框的取值及赋值示例详解
Oct 18 Javascript
详解vue-cli项目在IE浏览器打开报错解决方法
Dec 10 Vue.js
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分页函数示例代码分享
2014/02/24 PHP
PHP读取zip文件的方法示例
2016/11/17 PHP
php之header的不同用法总结(实例讲解)
2017/11/28 PHP
Laravel 实现数据软删除功能
2019/08/21 PHP
js跟随滚动条滚动浮动代码
2009/12/31 Javascript
javascript动画对象支持加速、减速、缓入、缓出的实现代码
2012/09/30 Javascript
如何根据百度地图计算出两地之间的驾驶距离(两种语言js和C#)
2015/10/29 Javascript
js 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示实例
2016/12/06 Javascript
jQuery中的100个技巧汇总
2016/12/15 Javascript
JavaScript中利用for循环遍历数组
2017/01/15 Javascript
正则验证小数点后面只能有两位数的方法
2017/02/28 Javascript
jsonp跨域请求实现示例
2017/03/13 Javascript
Angular2使用Angular-CLI快速搭建工程(二)
2017/05/21 Javascript
react.js使用webpack搭配环境的入门教程
2017/08/14 Javascript
Vue中组件之间数据的传递的示例代码
2017/09/08 Javascript
JavaScript插入排序算法原理与实现方法示例
2018/08/06 Javascript
基于JavaScript实现瀑布流布局
2018/08/15 Javascript
Vue加载组件、动态加载组件的几种方式
2018/08/31 Javascript
js取0-9随机取4个数不重复的数字代码实例
2019/03/27 Javascript
Python实现截屏的函数
2015/07/26 Python
Python对象与引用的介绍
2019/01/24 Python
Python3.6中Twisted模块安装的问题与解决
2019/04/15 Python
对Python3之方法的覆盖与super函数详解
2019/06/26 Python
python3实现带多张图片、附件的邮件发送
2019/08/10 Python
Python爬虫之App爬虫视频下载的实现
2020/12/08 Python
Waterford美国官网:爱尔兰水晶制品品牌
2017/04/26 全球购物
Chain Reaction Cycles芬兰:世界上最大的在线自行车商店
2017/12/06 全球购物
Topshop美国官网:英国快速时尚品牌
2019/05/16 全球购物
MVC的各个部分都有那些技术来实现?如何实现?
2016/04/21 面试题
自荐信如何“自荐”
2013/10/24 职场文书
英语专业毕业生求职简历的自我评价
2013/10/24 职场文书
《广玉兰》教学反思
2014/04/14 职场文书
陕西导游词
2015/02/04 职场文书
python 模块重载的五种方法
2021/04/24 Python
Pytorch中Softmax和LogSoftmax的使用详解
2021/06/05 Python
PHP使用QR Code生成二维码实例
2021/07/07 PHP