RosettaCodeData/Task/Singly-linked-list-Element-.../MiniScript/singly-linked-list-element-...

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