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中的array数组使用技巧
Jan 31 Javascript
如何制作浮动广告 JavaScript制作浮动广告代码
Dec 30 Javascript
Jquery带搜索框的下拉菜单
May 06 Javascript
jquery插件jSignature实现手动签名
May 04 Javascript
jQuery鼠标悬浮链接弹出跟随图片实例代码
Jan 08 Javascript
javascript中的 object 和 function小结
Aug 14 Javascript
Vue中父组件向子组件通信的方法
Jul 11 Javascript
javaScript日期工具类DateUtils详解
Dec 08 Javascript
微信小程序实现日历功能
Nov 27 Javascript
vue项目前端知识点整理【收藏】
May 13 Javascript
如何手写一个简易的 Vuex
Oct 10 Javascript
利用node.js开发cli的完整步骤
Dec 29 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中函数内引用全局变量的方法
2008/10/20 PHP
php实现与erlang的二进制通讯实例解析
2014/07/23 PHP
PHP命令行脚本接收传入参数的三种方式
2014/08/20 PHP
ThinkPHP自定义函数解决模板标签加减运算的方法
2015/07/03 PHP
javascript实现二分查找法实现代码
2007/11/12 Javascript
javascript 获取元素位置的快速方法 getBoundingClientRect()
2009/11/26 Javascript
Javascript 匿名函数及其代码模式原理
2010/03/19 Javascript
20款非常优秀的 jQuery 工具提示插件 推荐
2012/07/15 Javascript
JavaScript中九种常用排序算法
2014/09/02 Javascript
返回顶部按钮响应滚动且动态显示与隐藏
2014/10/14 Javascript
jquery制作漂亮的弹出层提示消息特效
2014/12/23 Javascript
JavaScript获取页面中表单(form)数量的方法
2015/04/03 Javascript
jQuery实现的checkbox级联选择下拉菜单效果示例
2016/12/26 Javascript
解决AngualrJS页面刷新导致异常显示问题
2017/04/20 Javascript
Python使用CMD模块更优雅的运行脚本
2015/05/11 Python
Saltstack快速入门简单汇总
2016/03/01 Python
python程序封装为win32服务的方法
2021/03/07 Python
python实现按行分割文件
2019/07/22 Python
python自动化工具之pywinauto实例详解
2019/08/26 Python
Python OpenCV读取显示视频的方法示例
2020/02/20 Python
Python如何使用turtle库绘制图形
2020/02/26 Python
Pytest单元测试框架如何实现参数化
2020/09/05 Python
Python调用SMTP服务自动发送Email的实现步骤
2021/02/07 Python
利用CSS3实现文字折纸效果实例代码
2018/07/10 HTML / CSS
计算机应用专业学生的自我评价分享
2013/11/03 职场文书
竞聘副主任科员演讲稿
2014/01/11 职场文书
法学专业自我鉴定
2014/02/05 职场文书
财务管理职业生涯规划书
2014/02/26 职场文书
倡议书格式范文
2014/04/14 职场文书
2014年共青团工作总结
2014/12/10 职场文书
班主任经验交流材料
2014/12/16 职场文书
小班教师个人总结
2015/02/05 职场文书
初三英语教学反思
2016/02/15 职场文书
如何拟写通知正文?
2019/04/02 职场文书
Java Spring Boot请求方式与请求映射过程分析
2022/06/25 Java/Android
HTML 里 img 元素的 src 和 srcset 属性的区别详解
2023/05/21 HTML / CSS