This time I will bring you a detailed explanation of the use of js linked lists, what are the precautions when using js linked lists, the following is a practical case, let's take a look.
As shown below:
<!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>;
I believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to other related articles on the php Chinese website!
Recommended reading:
Combining HTML tags with DOM nodes
Summary of JS implicit type conversion
The above is the detailed content of Detailed explanation of using js linked list. For more information, please follow other related articles on the PHP Chinese website!