46 lines
873 B
Plaintext
46 lines
873 B
Plaintext
Node = {"item": null, "next": null}
|
|
Node.init = function(item)
|
|
node = new Node
|
|
node.item = item
|
|
return node
|
|
end function
|
|
|
|
LinkedList = {"head": null, "tail": null}
|
|
LinkedList.append = function(item)
|
|
newNode = Node.init(item)
|
|
if self.head == null then
|
|
self.head = newNode
|
|
self.tail = self.head
|
|
else
|
|
self.tail.next = newNode
|
|
self.tail = self.tail.next
|
|
end if
|
|
end function
|
|
|
|
LinkedList.insert = function(aftItem, item)
|
|
newNode = Node.init(item)
|
|
cursor = self.head
|
|
while cursor.item != aftItem
|
|
print cursor.item
|
|
cursor = cursor.next
|
|
end while
|
|
newNode.next = cursor.next
|
|
cursor.next = newNode
|
|
end function
|
|
|
|
LinkedList.traverse = function
|
|
cursor = self.head
|
|
while cursor != null
|
|
// do stuff
|
|
print cursor.item
|
|
cursor = cursor.next
|
|
end while
|
|
end function
|
|
|
|
test = new LinkedList
|
|
test.append("A")
|
|
test.append("B")
|
|
test.insert("A","C")
|
|
|
|
test.traverse
|