26 lines
391 B
Nim
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
|