Je construisais une liste de liens en utilisant javascript
mais j'ai obtenu une erreur dans la fonction d'insertion.
Quelqu'un pourrait-il m'aider à comprendre ce que je dois faire ?
La sortie devrait être [1,10,6,5,16]
La façon dont j'ai inséré la liste des liens, je me suis référé à ce qui suit site web
i changé
var node = new Node(element) ;
à
c valeur:valeur, next:null } ;
Voici mon JS :
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
}; // 1
this.tail.next= newNode;
this.tail = newNode // 2
this.length++;
return this;
}
prehend(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
}
return array;
}
insert(index, value){
if(index>0&&index>this.length){
return false
}
else{
const newNode ={
value:value,
next:null
};
var curr,prev;
curr=this.head;
if(index=0){
newNode.next=head;
this.head=newNode;
}else{
curr=this.head;
var it=0;
while(it<index){
it++;
prev=curr;
curr=curr.next;
}
newNode.next=curr;
prev.next=newNode;
}
this.length++
}
return this.printList();
}
}
let myLinkedList = new LinkedList(10);
myLinkedList.append(5);
myLinkedList.append(16);
myLinkedList.prehend(1);
myLinkedList.insert(2, 6);
myLinkedList.printList();//should return [1,10,6,5,16]