首页 > 编程 > JavaScript > 正文

js链表操作(实例讲解)

2019-11-19 15:38:55
字体:
来源:转载
供稿:网友

如下所示:

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表