Cette fois, je vais vous apporter une explication détaillée de l'utilisation des listes chaînées js. Quelles sont les précautions lors de l'utilisation des listes chaînées js. Voici des cas pratiques, jetons un coup d'œil.
est la suivante :
<!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>;
Je pense que vous maîtrisez la méthode de lecture de cet article. Pour plus de passionnant, veuillez prêter attention aux autres articles connexes sur le site Web PHP chinois ! Lecture recommandée :
Combinaison de balises HTML avec des nœuds DOM
Résumé de la conversion de type implicite JS
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!