insertAfter
Function parameters
Parameters
- list:*DoublyLinkedList
- existing_node:*Node
- new_node:*Node
This struct contains only the prev and next pointers and not any data
Types
- Node
- This struct contains only the prev and next pointers and not any data
Functions in this namespace
Functions
- concatByMoving
- Concatenate list2 onto the end of list1, removing all entries from the former.
- append
- Insert a new node at the end of the list.
- prepend
- Insert a new node at the beginning of the list.
- remove
- Remove a node from the list.
- pop
- Remove and return the last node in the list.
- popFirst
- Remove and return the first node in the list.
- len
- Iterate over all nodes, returning the count.
Source
Implementation
pub 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;
}