JavaScript

超轻量级php框架startmvc

js链表操作(实例讲解)

更新时间:2020-06-01 23:48:01 作者:startmvc
如下所示:<!doctypehtml><htmllang="en"><head><metacharset="UTF-8"><title>Document<

如下所示:


<!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 链表