Skip to content

Latest commit

 

History

History
978 lines (555 loc) · 17 KB

LinkedList.md

File metadata and controls

978 lines (555 loc) · 17 KB

@zimmed/prefab / Exports / LinkedList

Class: LinkedList<T, N>

Type parameters

Name Type
T T
N extends LNode<T> = LNode<T>

Hierarchy

Table of contents

Constructors

Properties

Accessors

Methods

Constructors

constructor

new LinkedList<T, N>(iterable?, init?)

Type parameters

Name Type
T T
N extends LNode<T> = LNode<T>

Parameters

Name Type Description
iterable? IterableIterator<T> | T[] Optional iterable with which to initialize the list
init? object -

Defined in

src/LinkedList.ts:49

Properties

_head

Protected Optional _head: N

Defined in

src/LinkedList.ts:20


_tail

Protected Optional _tail: N

Defined in

src/LinkedList.ts:23

Accessors

head

get head(): undefined | T

Item at head of the list

Returns

undefined | T

Defined in

src/LinkedList.ts:26


tail

get tail(): undefined | T

Item at tail of the list

Returns

undefined | T

Defined in

src/LinkedList.ts:30

Methods

[iterator]

[iterator](): IterableIterator<T>

Returns

IterableIterator<T>

Defined in

src/LinkedList.ts:464


_findNode

Private _findNode(item): undefined | N

Parameters

Name Type
item T

Returns

undefined | N

Defined in

src/LinkedList.ts:468


add

add(item): LinkedList<T, N>

Adds item to end of the list

Parameters

Name Type
item T

Returns

LinkedList<T, N>

Defined in

src/LinkedList.ts:116


addNode

addNode(node): LinkedList<T, N>

Caution: Assumes node already has correct head and tail set Adds node to the end of the list

Parameters

Name Type
node N

Returns

LinkedList<T, N>

Defined in

src/LinkedList.ts:440


append

append(item): LinkedList<T, N>

Adds item to end of the list

Parameters

Name Type
item T

Returns

LinkedList<T, N>

Defined in

src/LinkedList.ts:101


clear

clear(): void

Clears the list

Returns

void

Defined in

src/LinkedList.ts:163


concat

concat(...lists): LinkedList<T, N>

Concatenates the the lists into a new list

Parameters

Name Type
...lists readonly (T | LinkedList<T, N> | T[])[]

Returns

LinkedList<T, N>

Defined in

src/LinkedList.ts:174


concatUnsafe

concatUnsafe(list): LinkedList<T, N>

appends the specified list directly onto the tail of the second list

Parameters

Name Type
list LinkedList<T, N>

Returns

LinkedList<T, N>

Defined in

src/LinkedList.ts:208


cycle

cycle(): LinkedList<T, N>

Moves element from end of list to the front

Returns

LinkedList<T, N>

Defined in

src/LinkedList.ts:121


delete

delete(item): boolean

Removes item from the list

Parameters

Name Type
item T

Returns

boolean

Defined in

src/LinkedList.ts:169


deleteNode

deleteNode(cur?): boolean

Removes specified node from the list

Parameters

Name Type
cur? N

Returns

boolean

Defined in

src/LinkedList.ts:449


entries

entries(): IterableIterator<[T, T]>

Kind of pointless, but needed for parity with builtin Set object

Returns

IterableIterator<[T, T]>

Defined in

src/LinkedList.ts:269


filter

filter(predicate): T[]

Uses predicate to return a new array of all matching items (same signature is Array.protoype.filter)

Parameters

Name Type
predicate Callback<T, LinkedList<T, N>, boolean, LinkedList<T, N>>

Returns

T[]

Defined in

src/LinkedList.ts:368

filter<This>(predicate, thisArg): T[]

Type parameters

Name
This

Parameters

Name Type
predicate Callback<T, This, boolean, LinkedList<T, N>>
thisArg This

Returns

T[]

Defined in

src/LinkedList.ts:369


find

find(predicate): undefined | T

Uses predicate to return first matching item or undefined if no matches (same signature as Array.prototype.find)

Parameters

Name Type
predicate Callback<T, LinkedList<T, N>, boolean, LinkedList<T, N>>

Returns

undefined | T

Defined in

src/LinkedList.ts:342

find<This>(predicate, thisArg): undefined | T

Type parameters

Name
This

Parameters

Name Type
predicate Callback<T, This, boolean, LinkedList<T, N>>
thisArg This

Returns

undefined | T

Defined in

src/LinkedList.ts:343


forEach

forEach(cb): void

Operates on each element of the list in a callback method (same signature as Array.prototype.forEach)

Parameters

Name Type
cb Callback<T, LinkedList<T, N>, void, LinkedList<T, N>>

Returns

void

Defined in

src/LinkedList.ts:300

forEach<ThisArg>(cb, thisArg?): void

Type parameters

Name
ThisArg

Parameters

Name Type
cb Callback<T, ThisArg, void, LinkedList<T, N>>
thisArg? ThisArg

Returns

void

Defined in

src/LinkedList.ts:301


has

has(item): boolean

Careful! O(n) Checks to see if item exists in list

Parameters

Name Type
item T

Returns

boolean

Defined in

src/LinkedList.ts:96


headNode

headNode(node): LinkedList<T, N>

Caution: Assumes node is already part of linked list Moves node to the front of the list

Parameters

Name Type
node N

Returns

LinkedList<T, N>

Defined in

src/LinkedList.ts:134


insert

insert(item): LinkedList<T, N>

Adds item to front of the list

Parameters

Name Type
item T

Returns

LinkedList<T, N>

Defined in

src/LinkedList.ts:106


insertNode

insertNode(node): LinkedList<T, N>

Caution: Assumes node already has correct head and tail set Adds node to the front of the list

Parameters

Name Type
node N

Returns

LinkedList<T, N>

Defined in

src/LinkedList.ts:428


join

join(separator?): string

Joins list elements into one string (same signature as Array.prototype.join)

Parameters

Name Type
separator? string

Returns

string

Defined in

src/LinkedList.ts:420


keys

keys(): IterableIterator<T>

Alias for values() method

Returns

IterableIterator<T>

Defined in

src/LinkedList.ts:264


map

map<RT>(cb): RT[]

Maps list items into new array (same signature as Array.prototype.map)

Type parameters

Name
RT

Parameters

Name Type
cb Callback<T, LinkedList<T, N>, RT, LinkedList<T, N>>

Returns

RT[]

Defined in

src/LinkedList.ts:395

map<RT, This>(cb, thisArg): RT[]

Type parameters

Name
RT
This

Parameters

Name Type
cb Callback<T, This, RT, LinkedList<T, N>>
thisArg This

Returns

RT[]

Defined in

src/LinkedList.ts:396


new

new(iterable?): LinkedList<T, N>

Parameters

Name Type
iterable? IterableIterator<T> | T[]

Returns

LinkedList<T, N>

Defined in

src/LinkedList.ts:56


pop

pop(): undefined | T

Removes and returns the last element of the list (or undefined if list is empty)

Returns

undefined | T

Defined in

src/LinkedList.ts:61


recycle

recycle(): LinkedList<T, N>

Moves element from front of list to the end

Returns

LinkedList<T, N>

Defined in

src/LinkedList.ts:126


reduce

reduce<RT>(cb, initialValue): RT

Reduces list into specified value (same signature as Array.prototype.reduce)

Type parameters

Name
RT

Parameters

Name Type
cb Reducer<T, LinkedList<T, N>, RT, LinkedList<T, N>>
initialValue RT

Returns

RT

Defined in

src/LinkedList.ts:321

reduce<RT, This>(cb, initialValue, thisArg?): RT

Type parameters

Name
RT
This

Parameters

Name Type
cb Reducer<T, This, RT, LinkedList<T, N>>
initialValue RT
thisArg? This

Returns

RT

Defined in

src/LinkedList.ts:322


reverse

reverse(): IterableIterator<T>

Iterates through list items in reverse

Returns

IterableIterator<T>

Defined in

src/LinkedList.ts:290


shift

shift(): undefined | T

Removes and returns the first element of the list (or undefined if list is empty)

Returns

undefined | T

Defined in

src/LinkedList.ts:77


slice

slice(start?, end?): LinkedList<T, N>

Creates a new slice of the linked list

Parameters

Name Type Default value
start number 0
end number Infinity

Returns

LinkedList<T, N>

Defined in

src/LinkedList.ts:218


tailNode

tailNode(node): LinkedList<T, N>

Caution: Assumes node is already part of linked list Moves node to the end of the list

Parameters

Name Type
node N

Returns

LinkedList<T, N>

Defined in

src/LinkedList.ts:150


toArray

toArray(): T[]

Converts list to native Array

Returns

T[]

Defined in

src/LinkedList.ts:252


toArraySlice

toArraySlice(start?, end?): T[]

Converts list to an array slice

Parameters

Name Type Default value
start number 0
end number Infinity

Returns

T[]

Defined in

src/LinkedList.ts:235


toJSON

toJSON(): T[]

Returns

T[]

Defined in

src/LinkedList.ts:460


unshift

unshift(item): LinkedList<T, N>

Alias for insert

Parameters

Name Type
item T

Returns

LinkedList<T, N>

Defined in

src/LinkedList.ts:111


values

values(): IterableIterator<T>

Iterates through list items

Returns

IterableIterator<T>

Defined in

src/LinkedList.ts:280