Function remove [src]
Remove a node from the list.
Arguments:
node: Pointer to the node to be removed.
Prototype
pub fn remove(list: *DoublyLinkedList, node: *Node) void
Parameters
list: *DoublyLinkedList
node: *Node
Source
pub fn remove(list: *DoublyLinkedList, node: *Node) void {
if (node.prev) |prev_node| {
// Intermediate node.
prev_node.next = node.next;
} else {
// First element of the list.
list.first = node.next;
}
if (node.next) |next_node| {
// Intermediate node.
next_node.prev = node.prev;
} else {
// Last element of the list.
list.last = node.prev;
}
}