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 相关文章推荐
excel操作之Add Data to a Spreadsheet Cell
Jun 12 Javascript
JavaScript中String和StringBuffer的速度之争
Apr 01 Javascript
jquery动画1.加载指示器
Aug 24 Javascript
使用js检测浏览器的实现代码
May 14 Javascript
JS基于MSClass和setInterval实现ajax定时采集信息并滚动显示的方法
Apr 18 Javascript
Vue.js基础知识汇总
Apr 27 Javascript
浅谈vue项目重构技术要点和总结
Jan 23 Javascript
javaScript动态添加Li元素的实例
Feb 24 Javascript
通过函数作用域和块级作用域看javascript的作用域链
Aug 05 Javascript
小程序实现多选框功能
Oct 30 Javascript
vue 实现走马灯效果
Oct 28 Javascript
微信小程序学习之自定义滚动弹窗
Dec 20 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
windows下PHP APACHE MYSQ完整配置
2007/01/02 PHP
php中对2个数组相加的函数
2011/06/24 PHP
php微信公众平台开发之微信群发信息
2016/09/13 PHP
PHP遍历目录文件的常用方法小结
2017/02/03 PHP
thinkPHP5.0框架引入Traits功能实例分析
2017/03/18 PHP
浅谈Yii乐观锁的使用及原理
2017/07/25 PHP
PHP实现的只保留字符串首尾字符功能示例【隐藏部分字符串】
2019/03/11 PHP
javascript 面向对象继承
2009/11/26 Javascript
jQuery实现的跨容器无缝拖动效果代码
2016/06/21 Javascript
JS实现的简单轮播图运动效果示例
2016/12/22 Javascript
JavaScript 中 apply 、call 的详解
2017/03/21 Javascript
vue子组件使用自定义事件向父组件传递数据
2017/05/27 Javascript
vue音乐播放器插件vue-aplayer的配置及其使用实例详解
2017/07/10 Javascript
使用Fullpage插件快速开发整屏翻页的页面
2017/09/13 Javascript
EasyUI创建人员树的实例代码
2017/09/15 Javascript
React Native AsyncStorage本地存储工具类
2017/10/24 Javascript
Vue 项目部署到服务器的问题解决方法
2017/12/05 Javascript
使用JS代码实现俄罗斯方块游戏
2018/08/03 Javascript
vue实现的组件兄弟间通信功能示例
2018/12/04 Javascript
Angular(5.2->6.1)升级小结
2018/12/27 Javascript
React 使用Hooks简化受控组件的状态绑定
2019/03/18 Javascript
js通过循环多张图片实现动画效果
2019/12/19 Javascript
JS实现简单的表格增删
2020/01/16 Javascript
Windows和Linux下Python输出彩色文字的方法教程
2017/05/02 Python
Python List cmp()知识点总结
2019/02/18 Python
pytorch神经网络之卷积层与全连接层参数的设置方法
2019/08/18 Python
解决pytorch GPU 计算过程中出现内存耗尽的问题
2019/08/19 Python
python安装gdal的两种方法
2019/10/29 Python
如何修复使用 Python ORM 工具 SQLAlchemy 时的常见陷阱
2019/11/19 Python
聊聊python中的循环遍历
2020/09/07 Python
戴森美国官网:Dyson美国
2016/09/11 全球购物
澳大利亚制造的羊皮靴:Original UGG Boots
2017/11/13 全球购物
2015年党风廉政建设责任书
2015/01/29 职场文书
2015年七一建党节活动总结
2015/03/20 职场文书
投资合作意向书范本
2015/05/08 职场文书
Pytorch 实现变量类型转换
2021/05/17 Python