js链表操作(实例讲解)


Posted in Javascript onAugust 29, 2017

如下所示:

<!doctype html>
<html lang="en">
 <head>
 <meta charset="UTF-8">
 <title>Document</title>
 <script>
  function Node(v){
    this.value=v;
    this.next=null;
  }
  function ArrayList(){
    this.head=new Node(null);
    this.tail = this.head;
    this.append=function(v){
      node = new Node(v);
      this.tail.next=node;
      this.tail=node;
    }
    this.insertAt=function(ii,v){
      node = new Node(v);
      //找到位置的节点
      tempNode=this.head;
      for(i=0;i<ii;i++){
        if(tempNode.next!=null){
          tempNode=tempNode.next;
        }else{
          break;
        }
      }
      node.next=tempNode.next;
      tempNode.next = node;
    }
    this.removeAt=function(ii){
      node1=this.head; //要删除节点的前一个节点
      for(i=0;i<ii;i++){
        if(node1.next!=null){
          node1=node1.next;
        }else{
          break;
        }
      }
      node2=node1.next;  //要删除的节点
      if(node2!=null){
        node1.next = node2.next;
        if(node2.next==null){
          this.tail=node1;
        }
      }
    }
    
  }
  function Iterator(arryList){
    this.point=arryList.head;
    this.hasNext=function(){
      if(this.point.next!=null){
        this.point=this.point.next;
        return true;
      }else{
        return false;
      }
    }
    this.next=function(){
      return this.point.value;
    }
  }
  
  var arry = new ArrayList();
  arry.append(1);
  arry.append(2);
  arry.append(3);
  arry.insertAt(1,8);
  arry.insertAt(0,9);
  arry.insertAt(100,100);
  arry.insertAt(1000,1000);
  arry.insertAt(1,200);
  arry.insertAt(200,2000);
  
  iterator = new Iterator(arry);
  while(iterator.hasNext()){
    document.write(iterator.next());
    document.write('<br/>');
  }
 </script>
 </head>
 <body>
 
 </body>
</html>

以上这篇js链表操作(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery 入门讲解1
Apr 15 Javascript
jQuery的实现原理的模拟代码 -4 重要的扩展函数 extend
Aug 03 Javascript
推荐 21 款优秀的高性能 Node.js 开发框架
Aug 18 Javascript
JavaScript实现LI列表数据绑定的方法
Aug 04 Javascript
JS创建事件的三种方法(实例代码)
May 12 Javascript
Angular 2.0+ 的数据绑定的实现示例
Aug 09 Javascript
在vue项目中集成graphql(vue-ApolloClient)
Sep 08 Javascript
ES6 Symbol数据类型的应用实例分析
Jun 26 Javascript
vue父子组件间引用之$parent、$children
May 20 Javascript
ES6 Symbol在对象中的作用实例分析
Jun 06 Javascript
全面解析Vue中的$nextTick
Dec 24 Vue.js
vue使用过滤器格式化日期
Jan 20 Vue.js
在页面中引入js的两种方法(推荐)
Aug 29 #Javascript
[js高手之路]设计模式系列课程-发布者,订阅者重构购物车的实例
Aug 29 #Javascript
使用canvas进行图像编辑的实例
Aug 29 #Javascript
jQuery实现锚点向下平滑滚动特效示例
Aug 29 #jQuery
js使用html2canvas实现屏幕截取的示例代码
Aug 28 #Javascript
JavaScript编写棋盘覆盖代码详解
Aug 28 #Javascript
Angular4开发解决跨域问题详解
Aug 28 #Javascript
You might like
15个小时----从修改程序到自己些程序
2006/10/09 PHP
PHP实现邮件群发的源码
2013/06/18 PHP
php从给定url获取文件扩展名的方法
2015/03/14 PHP
php实现遍历多维数组的方法
2015/11/25 PHP
老生常谈PHP面向对象之标识映射
2017/06/21 PHP
laravel dingo API返回自定义错误信息的实例
2019/09/29 PHP
Thinkphp5.0框架的Db操作实例分析【连接、增删改查、链式操作等】
2019/10/11 PHP
JQuery UI DatePicker中z-index默认为1的解决办法
2010/09/28 Javascript
JS将制定内容复制到剪切板示例代码
2014/02/11 Javascript
jQuery中height()方法用法实例
2014/12/24 Javascript
JQuery对ASP.NET MVC数据进行更新删除
2016/07/13 Javascript
JavaScript实现左右下拉框动态增删示例
2017/03/09 Javascript
Extjs 中的 Treepanel 实现菜单级联选中效果及实例代码
2017/08/22 Javascript
JavaScript for循环 if判断语句(学习笔记)
2017/10/11 Javascript
vue中的适配px2rem示例代码
2018/11/19 Javascript
浅谈对于“不用setInterval,用setTimeout”的理解
2019/08/28 Javascript
vue项目查看vue版本及cli版本的实现方式
2020/10/24 Javascript
Python的装饰器用法学习笔记
2016/06/24 Python
python 网络编程常用代码段
2016/08/28 Python
python3+PyQt5实现自定义流体混合窗口部件
2018/04/24 Python
python微信公众号之关键词自动回复
2018/06/15 Python
python2.7实现邮件发送功能
2018/12/12 Python
Python/Django后端使用PIL Image生成头像缩略图
2019/04/30 Python
python f-string式格式化听语音流程讲解
2019/06/18 Python
python3 线性回归验证方法
2019/07/09 Python
基于python实现雪花算法过程详解
2019/11/16 Python
解决Python数据可视化中文部分显示方块问题
2020/05/16 Python
python3让print输出不换行的方法
2020/08/24 Python
pytorch 实现L2和L1正则化regularization的操作
2021/03/03 Python
详解HTML5布局和HTML5标签
2020/10/26 HTML / CSS
项目建议书格式
2014/03/12 职场文书
文明演讲稿范文
2014/05/12 职场文书
行政上诉状范文
2015/05/23 职场文书
学习十八大的感悟
2015/08/11 职场文书
职场新人刚入职工作总结该怎么写?
2019/05/15 职场文书
PyTorch中的torch.cat简单介绍
2022/03/17 Python