Advertisement
Guest User

Untitled

a guest
Feb 4th, 2022
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Nim 0.43 KB | None | 0 0
  1. import std/lists
  2. import std/options
  3.  
  4. proc snipAndReplace[T](front, back: Option[var DoublyLinkedNode[T]], x: T) =
  5.   var node = newDoublyLinkedNode(x)
  6.   if front.isSome:
  7.     front.get.next = node
  8.     node.prev = front.get
  9.   if back.isSome:
  10.     back.get.prev = node
  11.     node.next = back.get
  12.  
  13. var lst = initDoublyLinkedList[int]()
  14. lst.add 1
  15. lst.add 6
  16. lst.add 3
  17.  
  18. echo lst
  19. snipAndReplace(some(lst.head), some(lst.tail), 2)
  20. echo lst
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement