RosettaCodeData/Task/Queue-Definition/Nim/queue-definition.nim

19 lines
469 B
Nim

import queues
# defining push & pop (obviously optional)
proc push*[T](q: var TQueue[T]; item: T) =
add(q,item)
proc pop*[T](q: var TQueue[T]): T =
result = dequeue(q)
var fifo: TQueue[int] = initQueue[int]()
fifo.push(26)
fifo.push(99)
fifo.push(2)
echo("Fifo size: ", fifo.len())
echo("Popping: ", fifo.pop())
echo("Popping: ", fifo.pop())
echo("Popping: ", fifo.pop())
#echo("Popping: ", fifo.pop()) # popping an empty stack raises [EAssertionFailed]