pub fn insertAfter(list: *DoublyLinkedList, existing_node: *Node, new_node: *Node) void list: *DoublyLinkedListexisting_node: *Nodenew_node: *Node29
30
31
32
33
34
35
36
37
38
39
40
41pub fn insertAfter(list: *DoublyLinkedList, existing_node: *Node, new_node: *Node) void {
new_node.prev = existing_node;
if (existing_node.next) |next_node| {
// Intermediate node.
new_node.next = next_node;
next_node.prev = new_node;
} else {
// Last element of the list.
new_node.next = null;
list.last = new_node;
}
existing_node.next = new_node;
}