js链表操作(实例讲解)

发布时间 - 2026-01-11 03:00:14    点击率:

如下所示:

<!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链表操作(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# js  # 链表  # JavaScript数据结构之链表的实现  # Node.js环境下JavaScript实现单链表与双链表结构  # javascript数据结构之双链表插入排序实例详解  # JavaScript将数组转换为链表的方法  # 给大家  # 希望能  # 所示  # 这篇  # 小编  # 大家多多  # charset  # UTF  # head  # en  # lang  # meta  # title  # Node  # null  # ArrayList  # Document  # script  # function 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理  如何快速查询域名建站关键信息?  如何有效防御Web建站篡改攻击?  Laravel怎么防止CSRF攻击_Laravel CSRF保护中间件原理与实践  瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口  ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】  韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐  如何在景安云服务器上绑定域名并配置虚拟主机?  米侠浏览器网页背景异常怎么办 米侠显示修复  Android GridView 滑动条设置一直显示状态(推荐)  如何自定义建站之星模板颜色并下载新样式?  北京企业网站设计制作公司,北京铁路集团官方网站?  Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践  Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优  Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】  如何打造高效商业网站?建站目的决定转化率  Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势  php嵌入式断网后怎么恢复_php检测网络重连并恢复硬件控制【操作】  Laravel如何创建自定义Facades?(详细步骤)  百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧  如何在宝塔面板中创建新站点?  如何在Windows虚拟主机上快速搭建网站?  Laravel怎么判断请求类型_Laravel Request isMethod用法  手机软键盘弹出时影响布局的解决方法  Mybatis 中的insertOrUpdate操作  如何为不同团队 ID 动态生成多个独立按钮  公司网站制作需要多少钱,找人做公司网站需要多少钱?  Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程  如何在云指建站中生成FTP站点?  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭  Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权  如何在建站主机中优化服务器配置?  想要更高端的建设网站,这些原则一定要坚持!  javascript基本数据类型及类型检测常用方法小结  网站制作大概多少钱一个,做一个平台网站大概多少钱?  Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】  用yum安装MySQLdb模块的步骤方法  百度输入法ai组件怎么删除 百度输入法ai组件移除工具  如何在不使用负向后查找的情况下匹配特定条件前的换行符  Laravel distinct去重查询_Laravel Eloquent去重方法  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  如何在搬瓦工VPS快速搭建网站?  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程  Laravel如何自定义分页视图?(Pagination示例)  浅谈Javascript中的Label语句  黑客入侵网站服务器的常见手法有哪些?  网页制作模板网站推荐,网页设计海报之类的素材哪里好?  Laravel中的withCount方法怎么高效统计关联模型数量