@oxwillfollow/linked-list
v1.0.0
Published
Implementation of [Linked List](https://en.wikipedia.org/wiki/Linked_list) in Javascript.
Readme
linked-list
Implementation of Linked List in Javascript.
Node class
Properties:
.value: the value of the node..nextNode: reference to the node that comes after this one. Assigned tonullif there is none.
Constructor(value, nextNode=null): assign value to the instantiated node, optional: assign the nextNode (defaults to null)
LinkedList class
Properties:
.#head (private): the first node in the list. Assigned tonullif the list is empty..#tail (private): the last node in the list. Assigned tonullif the list is empty..head (getter): returns the value of the first node in the list. Returnsundefinedif the list is empty..tail (getter): returns the value of the last node in the list. Returnsundefinedif the list is empty.
Methods:
size(): returns the total number of nodes in the list.append(value): adds a new node containingvalueto the end of the list.prepend(value): adds a new node containingvalueto the start of the list.at(index, returnNode=false): returns the value of the node at the given index, andundefinedif there is no node at the given index. Optional argument: returnNode to get the node instead of the value (used by other class methods).insertAt(index, ...values): inserts new nodes in the list starting atindexwith values taken from...values.removeAt(index): removes the node at the givenindex.removeFirst(): removes the head node from the list and returns its value. If used on an empty list, it returnsundefined.removeLast(): removes the tail node from the list and returns its value. If used on an empty list, it returnsundefined.contains(value): returns true ifvalueis in the list, and false otherwise.findIndex(value): returns the index of the node first node whose value matchesvalue, and it returns-1ifvalueis not found in the list.toString(): returns a string representation of the list. The format is( value ) -> ( value ) -> null. Returns an empty string if the list is empty.
