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 相关文章推荐
jQuery EasyUI中对表格进行编辑的实现代码
Jun 10 Javascript
利用js动态添加删除table行的示例代码
Dec 16 Javascript
用javascript对一个json数组深度赋值示例
Jul 27 Javascript
jQuery实现简单的间隔向上滚动效果
Mar 09 Javascript
ECharts仪表盘实例代码(附源码下载)
Feb 18 Javascript
Node.js服务器环境下使用Mock.js拦截AJAX请求的教程
May 23 Javascript
Vue.js实现分页查询功能
Nov 15 Javascript
vue3.0 CLI - 2.4 - 新组件 Forms.vue 中学习表单
Sep 14 Javascript
vue项目使用微信公众号支付总结及遇到的坑
Oct 23 Javascript
vue的keep-alive中使用EventBus的方法
Apr 23 Javascript
Cordova(ionic)项目实现双击返回键退出应用
Sep 17 Javascript
vue+element实现图片上传及裁剪功能
Jun 29 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中使用redis
2013/11/04 PHP
thinkPHP实现瀑布流的方法
2014/11/29 PHP
PHP中使用socket方式GET、POST数据实例
2015/04/02 PHP
PHP实现获取url地址中顶级域名的方法示例
2019/06/05 PHP
CL vs ForZe BO5 第二场 2.13
2021/03/10 DOTA
jquery利用ajax调用后台方法实例
2013/08/23 Javascript
jquery 倒计时效果实现秒杀思路
2013/09/11 Javascript
JavaScript实现找质数代码分享
2015/03/24 Javascript
JavaScript仿静态分页实现方法
2015/08/04 Javascript
jquery zTree异步加载简单实例讲解
2016/02/25 Javascript
浅析JavaScript Array和string的转换(推荐)
2016/05/20 Javascript
JS上传图片预览插件制作(兼容到IE6)
2016/08/07 Javascript
javascript中递归的两种写法
2017/01/17 Javascript
JavaScript表单验证完美代码
2017/03/02 Javascript
基于JavaScript实现报警器提示音效果
2017/10/27 Javascript
jsonp跨域及实现百度首页联想功能的方法
2018/08/30 Javascript
Nuxt使用Vuex的方法示例
2019/09/06 Javascript
原生js实现二级联动菜单
2019/11/27 Javascript
python实现爬取千万淘宝商品的方法
2015/06/30 Python
在Python中使用AOP实现Redis缓存示例
2017/07/11 Python
Python实现的当前时间多加一天、一小时、一分钟操作示例
2018/05/21 Python
浅谈pyqt5在QMainWindow中布局的问题
2019/06/21 Python
python安装后的目录在哪里
2020/06/21 Python
Python爬虫基于lxml解决数据编码乱码问题
2020/07/31 Python
css3 中实现炫酷的loading效果
2019/04/26 HTML / CSS
食品营养与检测应届生求职信
2013/11/08 职场文书
元旦晚会邀请函
2014/01/27 职场文书
个人现实表现材料
2014/02/04 职场文书
学生手册家长评语
2014/02/10 职场文书
《称象》教学反思
2014/04/25 职场文书
劳动竞赛口号
2014/06/16 职场文书
推广普通话标语
2014/06/27 职场文书
篮球友谊赛通讯稿
2014/10/10 职场文书
2014购房个人委托书范本
2014/10/12 职场文书
Vue3.0写自定义指令的简单步骤记录
2021/06/27 Vue.js
Python初识逻辑与if语句及用法大全
2021/08/07 Python