ds-linked-list
v1.0.0
Published
Linked list data structure
Downloads
2
Readme
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
anyitem
any
Examples
list.insertAfter(1, 2)
list.insert('foo', 'bar')
list.insert(ref, { baz: 'qux' })
insertAt
Insert an item at the given index.
Parameters
k
Numberitem
any
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
k
Number
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