class DoubleChain{
constructor(){
this.head = new DoubleNode(0);
}
insert(pointValue,newNode){
const current = this.find(pointValue);
newNode.next = current.next;
newNode.pre = current;
current.next = newNode;
}
find(value){
let current = this.head;
while(current.value !== value && current.next){
current = current.next;
}
return current;
}
findLast(){
let current = this.head;
while(current.next !== null){
current = current.next;
}
return current;
}
remove(value){
const node = this.find(value);
if(node.next !== null){
node.pre.next = node.next;
node.next.pre = node.pre;
node.next = null;
node.pre = null;
}
}
}