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 插件仿百度搜索框智能提示(带Value值)
Jan 22 Javascript
页面使用密码保护代码
Apr 10 Javascript
JavaScript中join()方法的使用简介
Jun 09 Javascript
使用JavaScript实现点击循环切换图片效果
Sep 03 Javascript
ui-router中使用ocLazyLoad和resolve的具体方法
Oct 18 Javascript
20个最常见的jQuery面试问题及答案
May 23 jQuery
Vue-router 中hash模式和history模式的区别
Jul 24 Javascript
Vue-Router的使用方法
Sep 05 Javascript
浅谈bootstrap layer.open中end的使用方法
Sep 12 Javascript
vue+canvas实现移动端手写签名
May 21 Javascript
基于javascript canvas实现五子棋游戏
Jul 08 Javascript
JavaScript枚举选择jquery插件代码实例
Nov 17 jQuery
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警告Cannot use a scalar value as an array的解决方法
2012/01/11 PHP
php利用ffmpeg提取视频中音频与视频画面的方法详解
2017/06/07 PHP
jquery表单验证框架提供的身份证验证方法(示例代码)
2013/12/27 Javascript
使用Node.js为其他程序编写扩展的基本方法
2015/06/23 Javascript
AngularJS控制器之间的数据共享及通信详解
2016/08/01 Javascript
jQuery实现的placeholder效果完整实例
2016/08/02 Javascript
学习Angular中作用域需要注意的坑
2016/08/17 Javascript
JavaScript实现自动切换图片代码
2016/10/11 Javascript
jQuery插件ajaxFileUpload使用详解
2017/01/10 Javascript
JavaScript实现大图轮播效果
2017/01/11 Javascript
Vue.js bootstrap前端实现分页和排序
2017/03/10 Javascript
详解angular用$sce服务来过滤HTML标签
2017/04/11 Javascript
详解使用angular的HttpClient搭配rxjs
2017/09/01 Javascript
使用selenium抓取淘宝的商品信息实例
2018/02/06 Javascript
angularJs中orderBy筛选以及filter过滤数据的方法
2018/09/30 Javascript
js实现带搜索功能的下拉框
2020/01/11 Javascript
[01:10:03]OG vs EG 2018国际邀请赛淘汰赛BO3 第三场 8.23
2018/08/24 DOTA
用Python制作简单的朴素基数估计器的教程
2015/04/01 Python
Python简单进程锁代码实例
2015/04/27 Python
numpy中以文本的方式存储以及读取数据方法
2018/06/04 Python
使用Python向C语言的链接库传递数组、结构体、指针类型的数据
2019/01/29 Python
python爬虫基础教程:requests库(二)代码实例
2019/04/09 Python
window7下的python2.7版本和python3.5版本的opencv-python安装过程
2019/10/24 Python
python opencv如何实现图片绘制
2020/01/19 Python
html5 兼容IE6结构的实现代码
2012/05/14 HTML / CSS
加拿大最大的五金、家居装修和园艺产品商店:RONA
2017/01/27 全球购物
可持续未来的时尚基础:Alternative Apparel
2019/05/06 全球购物
毕业生求职简历中的自我评价
2013/10/18 职场文书
致铅球运动员广播稿精选
2014/01/12 职场文书
2014年重阳节活动策划方案书
2014/09/16 职场文书
父亲节寄语大全
2015/02/27 职场文书
总经理年会致辞
2015/07/29 职场文书
工作计划范文之财务管理
2019/08/09 职场文书
Python几种酷炫的进度条的方式
2022/04/11 Python
Android中的Launch Mode详情
2022/06/05 Java/Android
SQL Server2019安装的详细步骤实战记录(亲测可用)
2022/06/10 SQL Server