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 相关文章推荐
Ext第一周 史上最强学习笔记---GridPanel(基础篇)
Dec 29 Javascript
基于jQuery的计算文本框字数的代码
Jun 06 Javascript
js螺旋动画效果的具体实例
Nov 15 Javascript
js判断url是否有效的两种方法
Mar 04 Javascript
jQuery的promise与deferred对象在异步回调中的作用
May 03 Javascript
浅析script标签中的defer与async属性
Nov 30 Javascript
Node.js dgram模块实现UDP通信示例代码
Sep 26 Javascript
浅谈vue中.vue文件解析流程
Apr 24 Javascript
详解Vue源码中一些util函数
Apr 24 Javascript
使用apifm-wxapi快速开发小程序过程详解
Aug 05 Javascript
微信小程序 弹窗输入组件的实现解析
Aug 12 Javascript
TypeScript 使用 Tuple Union 声明函数重载
Apr 07 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
php5编程中的异常处理详细方法介绍
2008/07/29 PHP
PHP多维数组转一维数组的简单实现方法
2015/12/23 PHP
ThinkPHP5+Layui实现图片上传加预览功能
2018/08/17 PHP
一个不错的用JavaScript实现的UBB编码函数
2007/03/09 Javascript
javascript新建标签,判断键盘输入,以及判断焦点(示例代码)
2013/11/25 Javascript
Iframe 自动适应页面的高度示例代码
2014/02/26 Javascript
JavaScript原生对象之String对象的属性和方法详解
2015/03/13 Javascript
javascript实现数组中的内容随机输出
2015/08/11 Javascript
JS实现超精简响应鼠标显示二级菜单代码
2015/09/12 Javascript
深入理解逻辑表达式的用法 与或非的用法
2016/06/06 Javascript
老生常谈 js中this的指向
2016/06/30 Javascript
jQuery实现二维码扫描功能
2017/01/09 Javascript
ES6 Promise对象概念与用法分析
2017/04/01 Javascript
利用vueJs实现图片轮播实例代码
2017/06/03 Javascript
js中bool值的转换及“&amp;&amp;”、“||”、 “!!”详解
2017/12/21 Javascript
Vue前端开发规范整理(推荐)
2018/04/23 Javascript
浅谈vue项目可以从哪些方面进行优化
2018/05/05 Javascript
vue实现的双向数据绑定操作示例
2018/12/04 Javascript
jquery选择器和属性对象的操作实例分析
2020/01/10 jQuery
node.js中process进程的概念和child_process子进程模块的使用方法示例
2020/02/11 Javascript
jQuery实现移动端笔触canvas电子签名
2020/05/21 jQuery
原生js生成图片验证码
2020/10/11 Javascript
python实现在sqlite动态创建表的方法
2015/05/08 Python
Python实现生成随机日期字符串的方法示例
2017/12/25 Python
浅谈PySpark SQL 相关知识介绍
2019/06/14 Python
python根据时间获取周数代码实例
2019/09/30 Python
浅谈keras使用预训练模型vgg16分类,损失和准确度不变
2020/07/02 Python
利用CSS3实现圆角的outline效果的教程
2015/06/05 HTML / CSS
解释一下ArrayList Vector和LinkedList的实现和区别
2013/04/26 面试题
我爱家乡演讲稿
2014/09/12 职场文书
2014年英语教师工作总结
2014/12/03 职场文书
2014年乡镇纪委工作总结
2014/12/19 职场文书
证劵公司反洗钱宣传活动总结
2015/05/08 职场文书
协议书格式模板
2016/03/24 职场文书
Vue的过滤器你真了解吗
2022/02/24 Vue.js
css3手动实现pc端横向滚动
2022/06/21 HTML / CSS