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 相关文章推荐
?牟┛途W扣了一??效果出?? target=
May 27 Javascript
js弹出层(jQuery插件形式附带reLoad功能)
Apr 12 Javascript
laytpl 精致巧妙的JavaScript模板引擎
Aug 29 Javascript
Js和JQuery获取鼠标指针坐标的实现代码分享
May 25 Javascript
jquery实现简单实用的弹出层效果代码
Oct 15 Javascript
javascript实现无缝上下滚动特效
Dec 16 Javascript
JS实现的表格行上下移动操作示例
Aug 03 Javascript
Bootstrap栅格系统的使用详解
Oct 30 Javascript
js中的闭包学习心得
Feb 06 Javascript
使用Vue.js和Flask来构建一个单页的App的示例
Mar 21 Javascript
QRCode.js二维码生成并能长按识别
Oct 16 Javascript
mapboxgl区划标签避让不遮盖实现的代码详解
Jul 01 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
使用swoole扩展php websocket示例
2014/02/13 PHP
PHP面向对象之工作单元(实例讲解)
2017/06/26 PHP
thinkphp ajaxfileupload实现异步上传图片的示例
2017/08/28 PHP
PHP常用字符串函数小结(推荐)
2018/08/05 PHP
tp5.1 框架join方法用法实例分析
2020/05/26 PHP
ExtJS Grid使用SimpleStore、多选框的方法
2009/11/20 Javascript
初试jQuery EasyUI 使用介绍
2010/04/01 Javascript
javascript cookies操作集合
2010/04/12 Javascript
js 弹出框 替代浏览器的弹出框
2010/10/29 Javascript
2014 HTML5/CSS3热门动画特效TOP10
2014/12/07 Javascript
js常用系统函数用法实例分析
2015/01/12 Javascript
JavaScript实现重置表单(reset)的方法
2015/04/02 Javascript
JS和css实现检测移动设备方向的变化并判断横竖屏幕
2015/05/25 Javascript
Vue 过渡(动画)transition组件案例详解
2017/01/22 Javascript
jQuery插件HighCharts实现2D柱状图、折线图的组合多轴图效果示例【附demo源码下载】
2017/03/09 Javascript
Angular2监听页面大小变化的解决方法
2017/10/09 Javascript
浅谈基于Vue.js的移动组件库cube-ui
2017/12/20 Javascript
vue全局组件与局部组件使用方法详解
2018/03/29 Javascript
详解一个基于套接字实现长连接的express
2019/03/28 Javascript
微信小程序如何修改本地缓存key中单个数据的详解
2019/04/26 Javascript
JS 遍历 json 和 JQuery 遍历json操作完整示例
2019/11/11 jQuery
Python 类与元类的深度挖掘 II【经验】
2016/05/06 Python
Python闭包和装饰器用法实例详解
2019/05/22 Python
Python实现括号匹配方法详解
2020/02/10 Python
利用python生成照片墙的示例代码
2020/04/09 Python
一文轻松掌握python语言命名规范规则
2020/06/18 Python
纯DOM+CSS3实现简单的小风车动画
2016/09/27 HTML / CSS
工程部主管岗位职责
2013/11/17 职场文书
年度考核自我鉴定
2014/02/02 职场文书
2015年幼儿园毕业感言
2014/02/12 职场文书
经管应届生求职信范文
2014/05/18 职场文书
超市仓管员岗位职责范本
2014/09/18 职场文书
高考升学宴主持词
2019/06/21 职场文书
Filebeat 采集 Nginx 日志的方法
2021/03/31 Servers
Win10系统下配置Java环境变量
2021/06/13 Java/Android
Python OpenCV实现图形检测示例详解
2022/04/08 Python