working eyes!
This commit is contained in:
43
src/Util/LinkedList.js
Normal file
43
src/Util/LinkedList.js
Normal file
@@ -0,0 +1,43 @@
|
||||
class LinkedList {
|
||||
constructor() {
|
||||
this.head = null;
|
||||
this.size = 0;
|
||||
}
|
||||
push(obj) {
|
||||
var el = new Element(obj, null, this.head);
|
||||
if (this.head != null){
|
||||
this.head.prev = el;
|
||||
}
|
||||
this.head = el;
|
||||
this.size ++;
|
||||
}
|
||||
clear() {
|
||||
var cur = this.head;
|
||||
while(cur != null){
|
||||
this.remove(cur);
|
||||
cur = cur.next;
|
||||
}
|
||||
this.size = 0;
|
||||
}
|
||||
|
||||
remove(element){
|
||||
if (element.prev != null){
|
||||
element.prev.next = element.next;
|
||||
}
|
||||
else if (this.head == element){
|
||||
this.head = element.next;
|
||||
}
|
||||
if (element.next != null){
|
||||
element.next.prev = element.prev;
|
||||
}
|
||||
this.size--;
|
||||
}
|
||||
}
|
||||
|
||||
class Element {
|
||||
constructor(obj, prev, next){
|
||||
this.obj = obj;
|
||||
this.prev = prev;
|
||||
this.next = next;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user