RosettaCodeData/Task/Singly-linked-list-Traversal/Nim/singly-linked-list-traversal.nim
2016-12-05 23:44:36 +01:00

26 lines
391 B
Nim

type Node[T] = ref object
next: Node[T]
data: T
proc newNode[T](data: T): Node[T] =
Node[T](data: data)
var a = newNode 12
var b = newNode 13
var c = newNode 14
proc insertAppend(a, n: var Node) =
n.next = a.next
a.next = n
a.insertAppend(b)
b.insertAppend(c)
iterator items(a: Node) =
var x = a
while x != nil:
yield x
x = x.next
for item in a:
echo item.data