如下所示:
<!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); //找到位置的節(jié)點(diǎn) 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; //要?jiǎng)h除節(jié)點(diǎn)的前一個(gè)節(jié)點(diǎn) for(i=0;i<ii;i++){ if(node1.next!=null){ node1=node1.next; }else{ break; } } node2=node1.next; //要?jiǎng)h除的節(jié)點(diǎn) 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鏈表操作(實(shí)例講解)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持VeVb武林網(wǎng)。
新聞熱點(diǎn)
疑難解答