project1

Run Settings
LanguageJavaScript
Language Version
Run Command
class LinkedList{ constructor(value){ this.head={ value:value, next:null }; this.tail=this.head; this.length=1; } append(value){ const newNode={ value:value, next:null } this.tail.next=newNode; this.tail=newNode; this.length++; return this; } prepend(value){ const newNode={ value:value, next:null } newNode.next=this.head; this.head=newNode; this.length++; return this; } printList(){ const array=[]; let currentNode=this.head; while(currentNode!==null){ array.push(currentNode.value); currentNode=currentNode.next; } console.log(array); } insert(index,value){ if(index>=this.length){ console.log('yes'); return this.append(value); } const newNode={ value:value, next:null } const leader=this.traverseToIndex(index-1); const holdingPointer=leader.next; leader.next=newNode; newNode.next=holdingPointer; this.length++; return this.printList(); } traverseToIndex(index){ let counter=0; let currentNode=this.head; while(counter!==index){ currentNode=currentNode.next; counter++; } return currentNode; } remove(index){ const leader=this.traverseToIndex(index-1); const unwantedNode=leader.next; leader.next=unwantedNode.next; this.length--; return this.printList(); } } let myLinkedList=new LinkedList(10); myLinkedList.append(5); myLinkedList.append(16); myLinkedList.prepend(1); myLinkedList.insert(2,99); myLinkedList.insert(20,88); myLinkedList.remove(2);
Editor Settings
Theme
Key bindings
Full width
Lines