Computer Science: Linked Lists demonstration.
npm install @tekksunn/cs-linked-lists!Computer Science | Linked Lists
!Make & Leave Project - Static Badge
To use this linked list, simply include the LinkedList class in your JavaScript code.
``bash`
npm install @tekksunn/cs-linked-lists
This is a simple implementation of a Linked List in JavaScript. It provides various methods for interacting with the list, such as adding, removing, finding, and displaying nodes.
The linked list includes the following methods:
- append(value): Adds a new node with the specified value to the end of the list.
- prepend(value): Adds a new node with the specified value to the beginning of the list.
- pop(): Removes the last node in the list.
- find(value): Finds the first node that matches the specified value and returns it.
- at(index): Returns the node at the specified index.
- contains(value): Checks if a node with the specified value exists in the list.
- size: Gets the number of nodes in the list.
- tail: Gets the last node in the list.
- toString(): Converts the list into a string representation.
- remove(value): Removes the first node that matches the specified value.
- toArray(): Returns an array containing all the values from the linked list.
Create a new Linked List:
`javascript`
const list = new LinkedList();
Append a node to the list:
`javascript`
list.append(10); // Adds a node with value 10 to the end of the list
Prepend a node to the list:
`javascript`
list.prepend(5); // Adds a node with value 5 to the beginning of the list
Get the size of the list:
`javascript`
console.log(list.size); // Gets the size of the list (number of nodes)
Get the tail (last node):
`javascript`
console.log(list.tail); // Gets the last node in the list
Access a node by index:
`javascript`
console.log(list.at(0)); // Returns the node at index 0 (first node)
Check if the list contains a value:
`javascript`
console.log(list.contains(10)); // Returns true if the list contains the value 10
Remove the last node:
`javascript`
list.pop(); // Removes the last node from the list
Remove a specific value from the list:
`javascript`
list.remove(10); // Removes the first node with value 10
Find a node by its value:
`javascript`
console.log(list.find(5)); // Returns the node with value 5
Convert the list to a string:
`javascript`
console.log(list.toString()); // Returns a string representation of the list
Convert the list to an array:
`javascript`
console.log(list.toArray()); // Returns an array with all values in the list
Here is a full example showing how the linked list works:
`javascript
const list = new LinkedList();
list.append(10);
list.append(20);
list.prepend(5);
console.log(list.size()); // 3
console.log(list.toString()); // "( 5 ) -> ( 10 ) -> ( 20 ) -> null"
console.log(list.at(1)); // Node with value 10
list.pop();
console.log(list.toString()); // "( 5 ) -> ( 10 ) -> null"
list.remove(10);
console.log(list.toString()); // "( 5 ) -> null"
console.log(list.contains(5)); // true
console.log(list.contains(10)); // false
console.log(list.find(5)); // Node with value 5
console.log(list.find(10)); // null
console.log(list.toArray()); // [5]
``
Feel free to fork this project and create a pull request if you'd like to contribute. Please make sure to write tests for any new features you add.
This project is open source and available under the MIT License.