Skip to content

Typed API (TypeDoc)


Typed API (TypeDoc) / DoublyLinkedList

Class: DoublyLinkedList<E> ​

Defined in: list.ts:1031

Type Parameters ​

E ​

E

Implements ​

Constructors ​

Constructor ​

new DoublyLinkedList<E>(elements?, reverse?): DoublyLinkedList<E>

Defined in: list.ts:1049

Parameters ​

elements? ​

Iterable<E, any, any>

reverse? ​

boolean = false

Returns ​

DoublyLinkedList<E>

Properties ​

comparator ​

comparator: Comparator<E>

Defined in: list.ts:1047

Comparator used for equality/sort checks.

Implementation of ​

ILinkedList.comparator


first ​

first: Node<E>

Defined in: list.ts:1035

Head node reference.

Implementation of ​

ILinkedList.first


last ​

last: Node<E>

Defined in: list.ts:1039

Tail node reference.

Implementation of ​

ILinkedList.last


size ​

size: number = 0

Defined in: list.ts:1043

Current element count.

Implementation of ​

ILinkedList.size

Methods ​

[iterator]() ​

[iterator](): Iterator<E>

Defined in: list.ts:1484

Iterates through the whole DoublyLinkedList.

Returns ​

Iterator<E>

Remarks ​

Complexity: O(size)

Implementation of ​

ILinkedList.[iterator]


add() ​

add(e): void

Defined in: list.ts:1061

Append an element.

Parameters ​

e ​

E

Returns ​

void

Remarks ​

Complexity: Amortized O(1) unless stated otherwise.

Implementation of ​

ILinkedList.add


addAll() ​

addAll(c): void

Defined in: list.ts:1068

Append every element from another collection.

Parameters ​

c ​

Iterable<E>

Returns ​

void

Remarks ​

Complexity: O(n + m) where m is collection.size.

Implementation of ​

ILinkedList.addAll


addFirst() ​

addFirst(e): void

Defined in: list.ts:1077

Insert at the beginning.

Parameters ​

e ​

E

Returns ​

void

Remarks ​

Complexity: O(1)

Implementation of ​

ILinkedList.addFirst


addLast() ​

addLast(e): void

Defined in: list.ts:1098

Insert at the end.

Parameters ​

e ​

E

Returns ​

void

Remarks ​

Complexity: O(1)

Implementation of ​

ILinkedList.addLast


clear() ​

clear(): void

Defined in: list.ts:1120

Remove all entries.

Returns ​

void

Remarks ​

Complexity: O(n)

Implementation of ​

ILinkedList.clear


contains() ​

contains(element): boolean

Defined in: list.ts:1426

Test membership using the comparator when available.

Parameters ​

element ​

E

Returns ​

boolean

Remarks ​

Complexity: O(n) worst case

Implementation of ​

ILinkedList.contains


equals() ​

equals(l): boolean

Defined in: list.ts:1433

Compare equality value-by-value using the comparator.

Parameters ​

l ​

IList<E>

List to compare.

Returns ​

boolean

true when lengths match and all elements compare equal.

Implementation of ​

ILinkedList.equals


every() ​

every(predicate): boolean

Defined in: list.ts:1260

Test whether every element matches the predicate.

Parameters ​

predicate ​

(e) => boolean

Match callback.

Returns ​

boolean

true when all elements satisfy the predicate.

Remarks ​

Complexity: O(n)

Implementation of ​

ILinkedList.every


filter() ​

filter(predicate): DoublyLinkedList<E>

Defined in: list.ts:1247

Create a list containing values that satisfy the predicate.

Parameters ​

predicate ​

(e) => boolean

Filter callback.

Returns ​

DoublyLinkedList<E>

Filtered list.

Remarks ​

Complexity: O(n)

Implementation of ​

ILinkedList.filter


get() ​

get(index): E

Defined in: list.ts:1128

Read the element at a given index.

Parameters ​

index ​

number

Zero-based index.

Returns ​

E

Element at the index.

Remarks ​

Complexity: O(1) for List, O(n) for linked variants.

Implementation of ​

ILinkedList.get


getFirst() ​

getFirst(): E

Defined in: list.ts:1289

Read the first element.

Returns ​

E

Implementation of ​

ILinkedList.getFirst


getLast() ​

getLast(): E

Defined in: list.ts:1297

Read the last element.

Returns ​

E

Implementation of ​

ILinkedList.getLast


getNode() ​

getNode(index): Node<E>

Defined in: list.ts:1404

Retrieve the internal node at index.

Parameters ​

index ​

number

Returns ​

Node<E>

Remarks ​

Complexity: O(n)

Implementation of ​

ILinkedList.getNode


indexOf() ​

indexOf(element, startIndex): number

Defined in: list.ts:1445

Locate the first matching element starting at startIndex.

Parameters ​

element ​

E

Needle value.

startIndex ​

number = 0

Optional search start.

Returns ​

number

Index or -1.

Remarks ​

Complexity: O(n)

Implementation of ​

ILinkedList.indexOf


isEmpty() ​

isEmpty(): boolean

Defined in: list.ts:1306

Check for emptiness.

Returns ​

boolean

true when size === 0.

Implementation of ​

ILinkedList.isEmpty


map() ​

map<V>(fn): DoublyLinkedList<V>

Defined in: list.ts:1225

Transform each element.

Type Parameters ​

V ​

V

Result type.

Parameters ​

fn ​

(e) => V

Mapper invoked per element.

Returns ​

DoublyLinkedList<V>

New list containing mapped values.

Remarks ​

Complexity: O(n)

Implementation of ​

ILinkedList.map


reduce() ​

reduce<V>(fn, initialValue?): V

Defined in: list.ts:1236

Reduce the list to a single value.

Type Parameters ​

V ​

V

Accumulator type.

Parameters ​

fn ​

(accumulator, element) => V

Reducer callback.

initialValue? ​

V

Optional starting value.

Returns ​

V

Accumulated result.

Remarks ​

Complexity: O(n)

Implementation of ​

ILinkedList.reduce


remove() ​

remove(target, isIndex): number | E

Defined in: list.ts:1332

Remove by value or index.

Parameters ​

target ​

Element or index.

number | E

isIndex ​

boolean = true

When true, treat e as index.

Returns ​

number | E

Removed element or index of removal.

Remarks ​

Complexity: O(n) worst case.

Implementation of ​

ILinkedList.remove


removeFirst() ​

removeFirst(): E

Defined in: list.ts:1342

Remove and return the head value.

Returns ​

E

Remarks ​

Complexity: O(1)

Implementation of ​

ILinkedList.removeFirst


removeLast() ​

removeLast(): E

Defined in: list.ts:1378

Remove and return the tail value.

Returns ​

E

Remarks ​

Complexity: O(1)

Implementation of ​

ILinkedList.removeLast


reverseIterator() ​

reverseIterator(): Generator<E, void, unknown>

Defined in: list.ts:1474

Iterates elements from the most recently added to the earliest.

Returns ​

Generator<E, void, unknown>

Implementation of ​

ILinkedList.reverseIterator


set() ​

set(index, e): boolean

Defined in: list.ts:1142

Replace the element at index.

Parameters ​

index ​

number

Position to update.

e ​

E

New value.

Returns ​

boolean

true when successful.

Implementation of ​

ILinkedList.set


slice() ​

slice(startIndex, endIndex): DoublyLinkedList<E>

Defined in: list.ts:1151

Take a slice using modulo arithmetic for wrap-around indices.

Parameters ​

startIndex ​

number

Beginning index (accepts negatives).

endIndex ​

number

Ending index.

Returns ​

DoublyLinkedList<E>

New list with copied range.

Remarks ​

Complexity: O(k) where k is slice length.

Implementation of ​

ILinkedList.slice


slice2() ​

slice2(startIndex, endIndex): DoublyLinkedList<E>

Defined in: list.ts:1159

Variant of slice where the sign of endIndex decides direction.

Parameters ​

startIndex ​

number

endIndex ​

number

Returns ​

DoublyLinkedList<E>

New list containing copied range.

Remarks ​

Complexity: O(k)

Implementation of ​

ILinkedList.slice2


some() ​

some(predicate): boolean

Defined in: list.ts:1275

Test whether any element matches the predicate.

Parameters ​

predicate ​

(e) => boolean

Match callback.

Returns ​

boolean

true when at least one element matches.

Remarks ​

Complexity: O(n)

Implementation of ​

ILinkedList.some


sort() ​

sort(cmp?): void

Defined in: list.ts:1457

Sort the structure using the provided comparator.

Parameters ​

cmp? ​

Comparator<E>

Optional comparator; falls back to the internal one.

Returns ​

void

Implementation of ​

ILinkedList.sort


splice() ​

splice(startIndex, deleteCount): DoublyLinkedList<E>

Defined in: list.ts:1217

Remove and return a consecutive range.

Parameters ​

startIndex ​

number

Start position.

deleteCount ​

number

Number of items to remove (negative => left).

Returns ​

DoublyLinkedList<E>

List containing removed elements.

Remarks ​

Complexity: O(n)

Implementation of ​

ILinkedList.splice

Built with VitePress – Released under the MIT License.