Use it like:
const LinkedList = preload("LinkedList.gd")
func _ready():
var ll = LinkedList.new()
ll.push_back(-1)
ll.push_back(5)
ll.push_front(1)
ll.push_front(2)
print(ll.size()) # 4
print(ll.pop_best(funcref(self, "comp"))) # 5
print(ll.pop_back()) # -1
print(ll.pop_front()) # 2
print(ll.size()) # 1
func comp(a,b):
return a > b
Hello 👾 your current doubly linked list is rather a stack with extra pointers, within
link()
you are missing a middle statement saying:other.next = next
. Furthermore, it appears that needless memory is wasted holding on to an empty dictionary while waiting for data to be added to an item.