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 相关文章推荐
js实现鼠标拖动图片并兼容IE/FF火狐/谷歌等主流浏览器
Jun 06 Javascript
js 左右悬浮对联广告特效代码
Dec 12 Javascript
14个有用的Jquery技巧分享
Jan 08 Javascript
js实现div模拟模态对话框展现URL内容
May 27 Javascript
jQuery获取选中单选按钮radio的值
Dec 27 Javascript
微信小程序 简单教程实例详解
Jan 13 Javascript
Javascript的this用法
Jan 16 Javascript
BootStrap表单时间选择器详解
May 09 Javascript
vue子组件使用自定义事件向父组件传递数据
May 27 Javascript
基于JavaScript实现百度搜索框效果
Jun 28 Javascript
在vue项目中使用sass的配置方法
Mar 20 Javascript
ES6学习笔记之let与const用法实例分析
Jan 22 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读取文件内容后清空文件示例代码
2014/03/18 PHP
PHP中iconv函数转码时截断字符问题的解决方法
2015/01/21 PHP
$()JS小技巧
2007/07/21 Javascript
JavaScript 字符串连接性能优化
2008/12/20 Javascript
JS 动态加载脚本的4种方法
2009/05/05 Javascript
jquery load()在firefox(火狐)下显示不正常的解决方法
2011/04/05 Javascript
Javascript毫秒数用法实例
2015/02/05 Javascript
jQuery插件scroll实现无缝滚动效果
2015/04/27 Javascript
js从数组中删除指定值(不是指定位置)的元素实现代码
2016/09/13 Javascript
JavaScript动态数量的文件上传控件
2016/11/18 Javascript
javascript实现日期三级联动下拉框选择菜单
2020/12/03 Javascript
Django+Vue.js搭建前后端分离项目的示例
2017/08/07 Javascript
vue父组件向子组件动态传值的两种方法
2017/11/11 Javascript
React通过父组件传递类名给子组件的实现方法
2017/11/13 Javascript
基于jquery trigger函数无法触发a标签的两种解决方法
2018/01/06 jQuery
JavaScript设计模式之代理模式简单实例教程
2018/07/03 Javascript
vue生成token并保存到本地存储中
2018/07/17 Javascript
微信小程序实现的canvas合成图片功能示例
2019/05/03 Javascript
详解基于Vue/React项目的移动端适配方案
2019/08/23 Javascript
详解Node.js使用token进行认证的简单示例
2020/05/25 Javascript
python 图片验证码代码分享
2012/07/04 Python
Python的网络编程库Gevent的安装及使用技巧
2016/06/24 Python
python虚拟环境virtualenv的使用教程
2017/10/20 Python
Python通过Pygame绘制移动的矩形实例代码
2018/01/03 Python
Python3之文件读写操作的实例讲解
2018/01/23 Python
python爬取m3u8连接的视频
2018/02/28 Python
TensorFlow实现打印每一层的输出
2020/01/21 Python
查看jupyter notebook每个单元格运行时间实例
2020/04/22 Python
基于Python制作一副扑克牌过程详解
2020/10/19 Python
利用HTML5中Geolocation获取地理位置调用Google Map API在Google Map上定位
2013/01/23 HTML / CSS
测绘工程个人的自我评价
2013/11/10 职场文书
外国人聘用意向书
2014/04/01 职场文书
小学生志愿者活动方案
2014/08/23 职场文书
党员对照检查剖析材料
2014/10/13 职场文书
pytorch 预训练模型读取修改相关参数的填坑问题
2021/06/05 Python
python_tkinter弹出对话框创建
2022/03/20 Python