ds-linked-list

1.0.0 • Public • Published

ds-linked-list

A simply linked list data structure in JavaScript.

Build Status Coverage


Big-O

    | Access | Search | Insertion | Deletion

------- | ------ | ------ | --------- | -------- Average | Θ(n) | Θ(n) | Θ(1) | Θ(1) Worst | O(n) | O(n) | O(1) | O(1)

Install

yarn add ds-linked-list

API

LinkedList

Class

insert

Insert an item at the end of the list.

Parameters

  • item any

Examples

list.insert(1)
list.insert('foo')
list.insert({ foo: 'bar' })

insertAfter

Insert an item after another one.

Parameters

  • ref any
  • item any

Examples

list.insertAfter(1, 2)
list.insert('foo', 'bar')
list.insert(ref, { baz: 'qux' })

insertAt

Insert an item at the given index.

Parameters

Examples

list.insertAt(1, 2)
list.insert(1, 'bar')
list.insert(1, { baz: 'qux' })

remove

Remove an item.

Parameters

  • item any

Examples

list.remove(1)
list.remove('foo')
list.remove({ foo: 'bar' })

has

Return true if the item is in the list.

Parameters

  • item any

Examples

list.has(1)
// => true
list.has('foo')
// => true
list.has(null)
// => false

Returns Boolean

at

Return the item at the given index or -1.

Parameters

Examples

list.at(0)
// => 1
list.at(1)
// => 'foo'
list.at(1337)
// => undefined

Returns any

entries

Return an array containing all the items.

Examples

list.entries()
// => [ 1, 'foo', { foo: 'bar' }]

Returns Array

inspect

Return a string representation of the list.

Examples

list.entries()
// => [ 1, 'foo', { foo: 'bar' }]

Returns String

length

Return the number of items in the list.

Examples

list.length()
// => 3

Returns Number

iterator

Iterate over the list.

Examples

for (let item of list) {
  console.log(item)
}
// => 1
// => 'foo'
// => { foo: 'bar' }

License

MIT © Nicolas Gryman

Readme

Keywords

none

Package Sidebar

Install

npm i ds-linked-list

Weekly Downloads

0

Version

1.0.0

License

MIT

Last publish

Collaborators

  • ngryman