class Node {
constructor(data){
this.data=data;
this.next=null;
}
}
class LinkedList {
constructor(){
this.head = null;
}
append(data){
const newNode = new Node(data);
if(!this.head){
this.head=newNode;
return;
}
let current = this.head;
while(current.next){
current = current.next;
}
current.next = newNode;
}
prepend(data){
const newNode = new Node(data);
newNode.next = this.head;
this.head = newNode;
}
delete(data) {
if(!this.head) return;
if(this.head.data === data){
this.head = this.head.next;
return;
}
let current = this.head;
while(current.next){
if(current.next.data === data){
current.next = current.next.next;
return;
}
current = current.next;
}
}
display() {
let current = this.head;
while(current){
console.log(current.data);
current = current.next;
}
}
}
const list = new LinkedList();
list.append(1);
list.append(2);
list.append(3);
list.display();
list.prepend(0);
list.delete(2);
list.display();
Comments
Post a Comment