Linked List Practice

Getting started

  1. Fork and clone this repository.

  2. Navigate to the cloned repository's directory on your command line. Then, run the following command:

npm install

This will install the libraries needed to run the tests.

  1. Open up the repository in VSCode. Follow the instructions below to complete the Lab.

Tests

To run the tests, you can run the following command from the command line. You will need to be in the root directory of your local directory.

npm test

This will run the test output once.

Two arrays to work with:

const nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0];

const panagram = [
  "The",
  "quick",
  "brown",
  "fox",
  "jumps",
  "over",
  "the",
  "lazy",
  "dog",
];

You will

  • Create a Node class with properties
    • data
    • next
  • Create a linked list with properties
    • head
  • Linked List Methods
    • insert
    • size
    • delete by key
    • getFirst element
    • getLast element
    • search an element by key and return data
    • getKth retrieve kth element
    • getKthToLast retrieve kth from last element
    • isEmpty check if list is empty
    • clear the linked list
    • toArrayconvert data from linked list to an array
    • containsDuplicates check for duplicates - return true if contains duplicates, false if not

Bonus

Build a doubly-linked list with all the same methods

Super Bonus

JavaScript class syntax is syntactic sugar - that means it is a newer easier to read/write syntax that does the same thing as an older syntax.

Start Here