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 相关文章推荐
JavaScript 读取元素的CSS信息的代码
Feb 07 Javascript
Google Dart编程语法和基本类型学习教程
Nov 27 Javascript
JavaScript函数作用域链分析
Feb 13 Javascript
jQuery简单实现隐藏以及显示特效
Feb 26 Javascript
简单谈谈JavaScript的同步与异步
Dec 31 Javascript
基于jquery实现智能表单验证操作
May 09 Javascript
把json格式的字符串转换成javascript对象或数组的方法总结
Nov 03 Javascript
js实现短信发送倒计时功能(正则验证)
Feb 10 Javascript
JS Testing Properties 判断属性是否在对象里的方法
Oct 01 Javascript
js实现各浏览器全屏代码实例
Jul 03 Javascript
jQuery实现的鼠标拖动画矩形框示例【可兼容IE8】
May 17 jQuery
JS中实现浅拷贝和深拷贝的代码详解
Jun 05 Javascript
在页面中引入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
PHP 导出数据到淘宝助手CSV的方法分享
2010/02/27 PHP
php中使用preg_match_all匹配文章中的图片
2013/02/06 PHP
Laravel中unique和exists验证规则的优化详解
2018/01/28 PHP
解决FLASH需要点击激活的代码
2006/12/20 Javascript
使用jquery自定义鼠标样式满足个性需求
2013/11/05 Javascript
javascript阻止scroll事件多次执行的思路及实现
2013/11/08 Javascript
js倒计时简单实现代码
2016/08/11 Javascript
JavaScript面试题(指针、帽子和女朋友)
2016/11/23 Javascript
Web 开发中Ajax的Session 超时处理方法
2017/01/19 Javascript
javascript中json对象json数组json字符串互转及取值方法
2017/04/19 Javascript
浅谈vue的踩坑路
2017/08/31 Javascript
微信小程序 动画的简单实例
2017/10/12 Javascript
用vue封装插件并发布到npm的方法步骤
2017/10/18 Javascript
vue实现在表格里,取每行的id的方法
2018/03/09 Javascript
微信小程序自定义底部弹出框
2020/11/16 Javascript
Jquery的autocomplete插件用法及参数讲解
2019/03/12 jQuery
vue component 中引入less文件报错 Module build failed
2019/04/17 Javascript
详解微信小程序胶囊按钮返回|首页自定义导航栏功能
2019/06/14 Javascript
编写更好的JavaScript条件式和匹配条件的技巧(小结)
2019/06/27 Javascript
一文看懂如何简单实现节流函数和防抖函数
2019/09/05 Javascript
使用 Angular RouteReuseStrategy 缓存(路由)组件的实例代码
2019/11/01 Javascript
apache部署python程序出现503错误的解决方法
2017/07/24 Python
python基础while循环及if判断的实例讲解
2017/08/25 Python
Python结合ImageMagick实现多张图片合并为一个pdf文件的方法
2018/04/24 Python
Python 利用内置set函数对字符串和列表进行去重的方法
2018/06/29 Python
详解Python静态网页爬取获取高清壁纸
2019/04/23 Python
python中时间模块的基本使用教程
2019/05/14 Python
浅析PyTorch中nn.Module的使用
2019/08/18 Python
python openCV获取人脸部分并存储功能
2019/08/28 Python
使用批处理脚本自动生成并上传NuGet包(操作方法)
2019/11/19 Python
Python 寻找局部最高点的实现
2019/12/05 Python
英国高街电视:High Street TV
2018/05/22 全球购物
模具专业毕业推荐信
2014/03/08 职场文书
数学兴趣小组活动总结
2014/07/08 职场文书
2021-4-3课程——SQL Server查询【2】
2021/04/05 SQL Server
解决MySQL Varchar 类型尾部空格的问题
2022/04/06 MySQL