Skip to content

Typed API (TypeDoc)


Typed API (TypeDoc) / CyclicDoublyLinkedList

Class: CyclicDoublyLinkedList<E>

Defined in: list.ts:1507

Type Parameters

E

E

Implements

Constructors

Constructor

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

Defined in: list.ts:1525

Parameters

elements?

Iterable<E, any, any>

reverse?

boolean = false

Returns

CyclicDoublyLinkedList<E>

Properties

comparator

comparator: Comparator<E>

Defined in: list.ts:1523

Comparator used for equality/sort checks.

Implementation of

ILinkedList.comparator


first

first: Node<E>

Defined in: list.ts:1511

Head node reference.

Implementation of

ILinkedList.first


last

last: Node<E>

Defined in: list.ts:1515

Tail node reference.

Implementation of

ILinkedList.last


size

size: number = 0

Defined in: list.ts:1519

Current element count.

Implementation of

ILinkedList.size

Methods

[iterator]()

[iterator](): Iterator<E>

Defined in: list.ts:1981

Iterates through the whole CyclicDoublyLinkedList.

Returns

Iterator<E>

Iterator for the CyclicDoublyLinkedList.

Remarks

Complexity: O(size)

Implementation of

ILinkedList.[iterator]


add()

add(e): void

Defined in: list.ts:1537

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:1544

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:1553

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:1583

Insert at the end.

Parameters

e

E

Returns

void

Remarks

Complexity: O(1)

Implementation of

ILinkedList.addLast


clear()

clear(): void

Defined in: list.ts:1608

Remove all entries.

Returns

void

Remarks

Complexity: O(n)

Implementation of

ILinkedList.clear


contains()

contains(element): boolean

Defined in: list.ts:1921

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:1928

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:1745

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): CyclicDoublyLinkedList<E>

Defined in: list.ts:1732

Create a list containing values that satisfy the predicate.

Parameters

predicate

(e) => boolean

Filter callback.

Returns

CyclicDoublyLinkedList<E>

Filtered list.

Remarks

Complexity: O(n)

Implementation of

ILinkedList.filter


get()

get(index): E

Defined in: list.ts:1616

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:1774

Read the first element.

Returns

E

Implementation of

ILinkedList.getFirst


getLast()

getLast(): E

Defined in: list.ts:1782

Read the last element.

Returns

E

Implementation of

ILinkedList.getLast


getNode()

getNode(index): Node<E>

Defined in: list.ts:1899

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:1940

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:1791

Check for emptiness.

Returns

boolean

true when size === 0.

Implementation of

ILinkedList.isEmpty


map()

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

Defined in: list.ts:1710

Transform each element.

Type Parameters

V

V

Result type.

Parameters

fn

(e) => V

Mapper invoked per element.

Returns

CyclicDoublyLinkedList<V>

New list containing mapped values.

Remarks

Complexity: O(n)

Implementation of

ILinkedList.map


reduce()

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

Defined in: list.ts:1721

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:1818

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:1828

Remove and return the head value.

Returns

E

Remarks

Complexity: O(1)

Implementation of

ILinkedList.removeFirst


removeLast()

removeLast(): E

Defined in: list.ts:1867

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:1970

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:1630

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): CyclicDoublyLinkedList<E>

Defined in: list.ts:1639

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

Parameters

startIndex

number

Beginning index (accepts negatives).

endIndex

number

Ending index.

Returns

CyclicDoublyLinkedList<E>

New list with copied range.

Remarks

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

Implementation of

ILinkedList.slice


slice2()

slice2(startIndex, endIndex): CyclicDoublyLinkedList<E>

Defined in: list.ts:1647

Variant of slice where the sign of endIndex decides direction.

Parameters

startIndex

number

endIndex

number

Returns

CyclicDoublyLinkedList<E>

New list containing copied range.

Remarks

Complexity: O(k)

Implementation of

ILinkedList.slice2


some()

some(predicate): boolean

Defined in: list.ts:1760

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:1952

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): CyclicDoublyLinkedList<E>

Defined in: list.ts:1702

Remove and return a consecutive range.

Parameters

startIndex

number

Start position.

deleteCount

number

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

Returns

CyclicDoublyLinkedList<E>

List containing removed elements.

Remarks

Complexity: O(n)

Implementation of

ILinkedList.splice

Built with VitePress – Released under the MIT License.