prepend
Insert a new node at the beginning of the list.
Arguments: new_node: Pointer to the new node to insert.
Function parameters
Parameters
- list:*DoublyLinkedList
- 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 prepend(list: *DoublyLinkedList, new_node: *Node) void {
if (list.first) |first| {
// Insert before first.
list.insertBefore(first, new_node);
} else {
// Empty list.
list.first = new_node;
list.last = new_node;
new_node.prev = null;
new_node.next = null;
}
}