LinkedListQueue
data-structure-typed / LinkedListQueue
Class: LinkedListQueue<E, R>
Defined in: data-structures/queue/queue.ts:1025
Queue implemented over a singly linked list; preserves head/tail operations with linear scans for queries.
Remarks
Time O(1), Space O(1)
Example
examples will be generated by unit test
Extends
SinglyLinkedList<E,R>
Type Parameters
E
E = any
R
R = any
Constructors
Constructor
new LinkedListQueue<E, R>(elements?, options?): LinkedListQueue<E, R>;
Defined in: data-structures/linked-list/singly-linked-list.ts:205
Create a SinglyLinkedList and optionally bulk-insert elements.
Parameters
elements?
| Iterable<E, any, any>
| Iterable<R, any, any>
| Iterable<SinglyLinkedListNode<E>, any, any>
Iterable of elements or nodes (or raw records if toElementFn is provided).
options?
SinglyLinkedListOptions<E, R>
Options such as maxLen and toElementFn.
Returns
LinkedListQueue<E, R>
New SinglyLinkedList instance.
Remarks
Time O(N), Space O(N)
Inherited from
Properties
first
Get Signature
get first(): E | undefined;
Defined in: data-structures/linked-list/singly-linked-list.ts:255
Get the first element value.
Remarks
Time O(1), Space O(1)
Returns
E | undefined
First element or undefined.
Inherited from
head
Get Signature
get head(): SinglyLinkedListNode<E> | undefined;
Defined in: data-structures/linked-list/singly-linked-list.ts:221
Get the head node.
Remarks
Time O(1), Space O(1)
Returns
SinglyLinkedListNode<E> | undefined
Head node or undefined.
Inherited from
last
Get Signature
get last(): E | undefined;
Defined in: data-structures/linked-list/singly-linked-list.ts:265
Get the last element value.
Remarks
Time O(1), Space O(1)
Returns
E | undefined
Last element or undefined.
Inherited from
length
Get Signature
get length(): number;
Defined in: data-structures/linked-list/singly-linked-list.ts:245
Get the number of elements.
Remarks
Time O(1), Space O(1)
Returns
number
Current length.
Inherited from
maxLen
Get Signature
get maxLen(): number;
Defined in: data-structures/base/linear-base.ts:100
Upper bound for length (if positive), or -1 when unbounded.
Remarks
Time O(1), Space O(1)
Returns
number
Maximum allowed length.
Inherited from
tail
Get Signature
get tail(): SinglyLinkedListNode<E> | undefined;
Defined in: data-structures/linked-list/singly-linked-list.ts:233
Get the tail node.
Remarks
Time O(1), Space O(1)
Returns
SinglyLinkedListNode<E> | undefined
Tail node or undefined.
Inherited from
toElementFn
Get Signature
get toElementFn(): ((rawElement) => E) | undefined;
Defined in: data-structures/base/iterable-element-base.ts:47
Exposes the current toElementFn, if configured.
Remarks
Time O(1), Space O(1).
Returns
((rawElement) => E) | undefined
The converter function or undefined when not set.
Inherited from
Methods
[iterator]()
iterator: IterableIterator<E>;
Defined in: data-structures/base/iterable-element-base.ts:60
Returns an iterator over the structure's elements.
Parameters
args
...unknown[]
Optional iterator arguments forwarded to the internal iterator.
Returns
IterableIterator<E>
An IterableIterator<E> that yields the elements in traversal order.
Remarks
Producing the iterator is O(1); consuming the entire iterator is Time O(n) with O(1) extra space.
Inherited from
addAfter()
addAfter(existingElementOrNode, newElementOrNode): boolean;
Defined in: data-structures/linked-list/singly-linked-list.ts:1129
Insert a new element/node after an existing one.
Parameters
existingElementOrNode
E | SinglyLinkedListNode<E>
Existing element or node.
newElementOrNode
E | SinglyLinkedListNode<E>
Element or node to insert.
Returns
boolean
True if inserted.
Remarks
Time O(N), Space O(1)
Inherited from
addAt()
addAt(index, newElementOrNode): boolean;
Defined in: data-structures/linked-list/singly-linked-list.ts:889
Insert a new element/node at an index, shifting following nodes.
Parameters
index
number
Zero-based index.
newElementOrNode
E | SinglyLinkedListNode<E>
Element or node to insert.
Returns
boolean
True if inserted.
Remarks
Time O(N), Space O(1)
Example
// Insert at index
const list = new SinglyLinkedList<number>([1, 3]);
list.addAt(1, 2);
console.log(list.toArray()); // [1, 2, 3];
Inherited from
addBefore()
addBefore(existingElementOrNode, newElementOrNode): boolean;
Defined in: data-structures/linked-list/singly-linked-list.ts:1099
Insert a new element/node before an existing one.
Parameters
existingElementOrNode
E | SinglyLinkedListNode<E>
Existing element or node.
newElementOrNode
E | SinglyLinkedListNode<E>
Element or node to insert.
Returns
boolean
True if inserted.
Remarks
Time O(N), Space O(1)
Inherited from
at()
at(index): E | undefined;
Defined in: data-structures/linked-list/singly-linked-list.ts:661
Get the element at a given index.
Parameters
index
number
Zero-based index.
Returns
E | undefined
Element or undefined.
Remarks
Time O(N), Space O(1)
Example
// Access element by index
const list = new SinglyLinkedList<string>(['a', 'b', 'c', 'd']);
console.log(list.at(0)); // 'a';
console.log(list.at(2)); // 'c';
console.log(list.at(3)); // 'd';
Inherited from
clear()
clear(): void;
Defined in: data-structures/linked-list/singly-linked-list.ts:1004
Remove all nodes and reset length.
Returns
void
void
Remarks
Time O(N), Space O(1)
Example
// Remove all
const list = new SinglyLinkedList<number>([1, 2, 3]);
list.clear();
console.log(list.isEmpty()); // true;
Inherited from
clone()
clone(): this;
Defined in: data-structures/queue/queue.ts:1032
Deep clone this linked-list-based queue.
Returns
this
A new queue with the same sequence of elements.
Remarks
Time O(N), Space O(N)
Overrides
concat()
concat(...items): this;
Defined in: data-structures/base/linear-base.ts:473
Concatenate lists/elements preserving order.
Parameters
items
...(
| E
| LinearBase<E, R, LinkedListNode<E>>)[]
Elements or LinearBase instances.
Returns
this
New list with combined elements (this type).
Remarks
Time O(sum(length)), Space O(sum(length))
Inherited from
countOccurrences()
countOccurrences(elementOrNode): number;
Defined in: data-structures/linked-list/singly-linked-list.ts:1205
Count how many nodes match a value/node/predicate.
Parameters
elementOrNode
| E
| SinglyLinkedListNode<E>
| ((node) => boolean)
Element, node, or node predicate to match.
Returns
number
Number of matches in the list.
Remarks
Time O(N), Space O(1)
Inherited from
SinglyLinkedList.countOccurrences
delete()
delete(elementOrNode?): boolean;
Defined in: data-structures/linked-list/singly-linked-list.ts:828
Delete the first match by value/node.
Parameters
elementOrNode?
E | SinglyLinkedListNode<E>
Element or node to remove; if omitted/undefined, nothing happens.
Returns
boolean
True if removed.
Remarks
Time O(N), Space O(1)
Example
// Remove first occurrence
const list = new SinglyLinkedList<number>([1, 2, 3, 2]);
list.delete(2);
console.log(list.toArray()); // [1, 3, 2];
Inherited from
deleteAt()
deleteAt(index): E | undefined;
Defined in: data-structures/linked-list/singly-linked-list.ts:773
Delete the element at an index.
Parameters
index
number
Zero-based index.
Returns
E | undefined
Removed element or undefined.
Remarks
Time O(N), Space O(1)
Example
// Remove by index
const list = new SinglyLinkedList<string>(['a', 'b', 'c']);
list.deleteAt(1);
console.log(list.toArray()); // ['a', 'c'];
Inherited from
deleteWhere()
deleteWhere(predicate): boolean;
Defined in: data-structures/linked-list/singly-linked-list.ts:1235
Delete the first node whose value matches a predicate.
Parameters
predicate
(value, index, list) => boolean
Predicate (value, index, list) → boolean to decide deletion.
Returns
boolean
True if a node was removed.
Remarks
Time O(N), Space O(1)
Inherited from
every()
every(predicate, thisArg?): boolean;
Defined in: data-structures/base/iterable-element-base.ts:86
Tests whether all elements satisfy the predicate.
Parameters
predicate
ElementCallback<E, R, boolean>
Function invoked for each element with signature (value, index, self).
thisArg?
unknown
Optional this binding for the predicate.
Returns
boolean
true if every element passes; otherwise false.
Remarks
Time O(n) in the worst case; may exit early when the first failure is found. Space O(1).
Inherited from
fill()
fill(
value,
start?,
end?): this;
Defined in: data-structures/base/linear-base.ts:292
Fill a range with a value.
Parameters
value
E
Value to set.
start?
number = 0
Inclusive start.
end?
number = ...
Exclusive end.
Returns
this
This list.
Remarks
Time O(n), Space O(1)
Inherited from
filter()
filter(callback, thisArg?): this;
Defined in: data-structures/linked-list/singly-linked-list.ts:1365
Filter values into a new list of the same class.
Parameters
callback
ElementCallback<E, R, boolean>
Predicate (value, index, list) → boolean to keep value.
thisArg?
unknown
Value for this inside the callback.
Returns
this
A new list with kept values.
Remarks
Time O(N), Space O(N)
Example
// SinglyLinkedList filter and map operations
const list = new SinglyLinkedList<number>([1, 2, 3, 4, 5]);
// Filter even numbers
const filtered = list.filter(value => value % 2 === 0);
console.log(filtered.length); // 2;
// Map to double values
const doubled = list.map(value => value * 2);
console.log(doubled.length); // 5;
// Use reduce to sum
const sum = list.reduce((acc, value) => acc + value, 0);
console.log(sum); // 15;
Inherited from
find()
Call Signature
find<S>(predicate, thisArg?): S | undefined;
Defined in: data-structures/base/iterable-element-base.ts:162
Finds the first element that satisfies the predicate and returns it.
Finds the first element of type S (a subtype of E) that satisfies the predicate and returns it.
Type Parameters
S
S
Parameters
predicate
ElementCallback<E, R, S>
Type-guard predicate: (value, index, self) => value is S.
thisArg?
unknown
Optional this binding for the predicate.
Returns
S | undefined
The matched element typed as S, or undefined if not found.
Remarks
Time O(n) in the worst case; may exit early on the first match. Space O(1).
Inherited from
Call Signature
find(predicate, thisArg?): E | undefined;
Defined in: data-structures/base/iterable-element-base.ts:163
Finds the first element that satisfies the predicate and returns it.
Finds the first element of type S (a subtype of E) that satisfies the predicate and returns it.
Parameters
predicate
ElementCallback<E, R, unknown>
Type-guard predicate: (value, index, self) => value is S.
thisArg?
unknown
Optional this binding for the predicate.
Returns
E | undefined
The matched element typed as S, or undefined if not found.
Remarks
Time O(n) in the worst case; may exit early on the first match. Space O(1).
Inherited from
findIndex()
findIndex(predicate, thisArg?): number;
Defined in: data-structures/base/linear-base.ts:151
Find the first index matching a predicate.
Parameters
predicate
ElementCallback<E, R, boolean>
(element, index, self) => boolean.
thisArg?
unknown
Optional this for callback.
Returns
number
Index or -1.
Remarks
Time O(n), Space O(1)
Inherited from
forEach()
forEach(callbackfn, thisArg?): void;
Defined in: data-structures/base/iterable-element-base.ts:132
Invokes a callback for each element in iteration order.
Parameters
callbackfn
ElementCallback<E, R, void>
Function invoked per element with signature (value, index, self).
thisArg?
unknown
Optional this binding for the callback.
Returns
void
void.
Remarks
Time O(n), Space O(1).
Inherited from
getNode()
getNode(elementNodeOrPredicate?): SinglyLinkedListNode<E> | undefined;
Defined in: data-structures/linked-list/singly-linked-list.ts:1077
Find a node by value, reference, or predicate.
Parameters
elementNodeOrPredicate?
| E
| SinglyLinkedListNode<E>
| ((node) => boolean)
Element, node, or node predicate to match.
Returns
SinglyLinkedListNode<E> | undefined
Matching node or undefined.
Remarks
Time O(N), Space O(1)
Inherited from
getNodeAt()
getNodeAt(index): SinglyLinkedListNode<E> | undefined;
Defined in: data-structures/linked-list/singly-linked-list.ts:723
Get the node reference at a given index.
Parameters
index
number
Zero-based index.
Returns
SinglyLinkedListNode<E> | undefined
Node or undefined.
Remarks
Time O(N), Space O(1)
Example
// Get node at index
const list = new SinglyLinkedList<string>(['a', 'b', 'c']);
console.log(list.getNodeAt(1)?.value); // 'b';
Inherited from
has()
has(element): boolean;
Defined in: data-structures/base/iterable-element-base.ts:188
Checks whether a strictly-equal element exists in the structure.
Parameters
element
E
The element to test with === equality.
Returns
boolean
true if an equal element is found; otherwise false.
Remarks
Time O(n) in the worst case. Space O(1).
Inherited from
indexOf()
indexOf(searchElement, fromIndex?): number;
Defined in: data-structures/base/linear-base.ts:422
Linked-list optimized indexOf (forwards scan).
Parameters
searchElement
E
Value to match.
fromIndex?
number = 0
Start position.
Returns
number
Index or -1.
Remarks
Time O(n), Space O(1)
Inherited from
isEmpty()
isEmpty(): boolean;
Defined in: data-structures/linked-list/singly-linked-list.ts:957
Check whether the list is empty.
Returns
boolean
True if length is 0.
Remarks
Time O(1), Space O(1)
Example
// Check empty
console.log(new SinglyLinkedList().isEmpty()); // true;
Inherited from
isNode()
isNode(elementNodeOrPredicate): elementNodeOrPredicate is SinglyLinkedListNode<E>;
Defined in: data-structures/linked-list/singly-linked-list.ts:675
Type guard: check whether the input is a SinglyLinkedListNode.
Parameters
elementNodeOrPredicate
| E
| SinglyLinkedListNode<E>
| ((node) => boolean)
Element, node, or predicate.
Returns
elementNodeOrPredicate is SinglyLinkedListNode<E>
True if the value is a SinglyLinkedListNode.
Remarks
Time O(1), Space O(1)
Inherited from
join()
join(separator?): string;
Defined in: data-structures/base/linear-base.ts:228
Join all elements into a string.
Parameters
separator?
string = ','
Separator string.
Returns
string
Concatenated string.
Remarks
Time O(n), Space O(n)
Inherited from
lastIndexOf()
lastIndexOf(searchElement, fromIndex?): number;
Defined in: data-structures/base/linear-base.ts:448
Linked-list optimized lastIndexOf (reverse scan).
Parameters
searchElement
E
Value to match.
fromIndex?
number = ...
Start position.
Returns
number
Index or -1.
Remarks
Time O(n), Space O(1)
Inherited from
map()
map<EM, RM>(
callback,
options?,
thisArg?): SinglyLinkedList<EM, RM>;
Defined in: data-structures/linked-list/singly-linked-list.ts:1440
Map values into a new list (possibly different element type).
Type Parameters
EM
EM
RM
RM = any
Parameters
callback
ElementCallback<E, R, EM>
Mapping function (value, index, list) → newElement.
options?
SinglyLinkedListOptions<EM, RM>
Options for the output list (e.g., maxLen, toElementFn).
thisArg?
unknown
Value for this inside the callback.
Returns
SinglyLinkedList<EM, RM>
A new SinglyLinkedList with mapped values.
Remarks
Time O(N), Space O(N)
Example
// Transform elements
const list = new SinglyLinkedList<number>([1, 2, 3]);
const doubled = list.map(n => n * 2);
console.log([...doubled]); // [2, 4, 6];
Inherited from
mapSame()
mapSame(callback, thisArg?): this;
Defined in: data-structures/linked-list/singly-linked-list.ts:1380
Map values into a new list of the same class.
Parameters
callback
ElementCallback<E, R, E>
Mapping function (value, index, list) → newValue.
thisArg?
unknown
Value for this inside the callback.
Returns
this
A new list with mapped values.
Remarks
Time O(N), Space O(N)
Inherited from
pop()
pop(): E | undefined;
Defined in: data-structures/linked-list/singly-linked-list.ts:418
Remove and return the tail element.
Returns
E | undefined
Removed element or undefined.
Remarks
Time O(N), Space O(1)
Example
// SinglyLinkedList pop and shift operations
const list = new SinglyLinkedList<number>([10, 20, 30, 40, 50]);
// Pop removes from the end
const last = list.pop();
console.log(last); // 50;
// Shift removes from the beginning
const first = list.shift();
console.log(first); // 10;
// Verify remaining elements
console.log([...list]); // [20, 30, 40];
console.log(list.length); // 3;
Inherited from
print()
print(): void;
Defined in: data-structures/base/iterable-element-base.ts:268
Prints toVisual() to the console. Intended for quick debugging.
Returns
void
void.
Remarks
Time O(n) due to materialization, Space O(n) for the intermediate representation.
Inherited from
push()
push(elementOrNode): boolean;
Defined in: data-structures/linked-list/singly-linked-list.ts:350
Append an element/node to the tail.
Parameters
elementOrNode
E | SinglyLinkedListNode<E>
Element or node to append.
Returns
boolean
True when appended.
Remarks
Time O(1), Space O(1)
Example
// basic SinglyLinkedList creation and push operation
// Create a simple SinglyLinkedList with initial values
const list = new SinglyLinkedList([1, 2, 3, 4, 5]);
// Verify the list maintains insertion order
console.log([...list]); // [1, 2, 3, 4, 5];
// Check length
console.log(list.length); // 5;
// Push a new element to the end
list.push(6);
console.log(list.length); // 6;
console.log([...list]); // [1, 2, 3, 4, 5, 6];
Inherited from
pushMany()
pushMany(elements): boolean[];
Defined in: data-structures/linked-list/singly-linked-list.ts:570
Append a sequence of elements/nodes.
Parameters
elements
| Iterable<E, any, any>
| Iterable<R, any, any>
| Iterable<SinglyLinkedListNode<E>, any, any>
Iterable of elements or nodes (or raw records if toElementFn is provided).
Returns
boolean[]
Array of per-element success flags.
Remarks
Time O(N), Space O(1)
Inherited from
reduce()
Reduces all elements to a single accumulated value.
Param
Reducer of signature (acc, value, index, self) => nextAcc. The first element is used as the initial accumulator.
Param
Reducer of signature (acc, value, index, self) => nextAcc.
Param
The initial accumulator value of type E.
Template
The accumulator type when it differs from E.
Param
Reducer of signature (acc: U, value, index, self) => U.
Param
The initial accumulator value of type U.
Remarks
Time O(n), Space O(1). Throws if called on an empty structure without initialValue.
Call Signature
reduce(callbackfn): E;
Defined in: data-structures/base/iterable-element-base.ts:193
Parameters
callbackfn
ReduceElementCallback<E, R>
Returns
E
Inherited from
Call Signature
reduce(callbackfn, initialValue): E;
Defined in: data-structures/base/iterable-element-base.ts:194
Parameters
callbackfn
ReduceElementCallback<E, R>
initialValue
E
Returns
E
Inherited from
Call Signature
reduce<U>(callbackfn, initialValue): U;
Defined in: data-structures/base/iterable-element-base.ts:195
Type Parameters
U
U
Parameters
callbackfn
ReduceElementCallback<E, R, U>
initialValue
U
Returns
U
Inherited from
reduceRight()
reduceRight<U>(callbackfn, initialValue): U;
Defined in: data-structures/base/linear-base.ts:574
Right-to-left reduction using reverse iterator.
Type Parameters
U
U
Parameters
callbackfn
ReduceLinearCallback<E, U>
(acc, element, index, self) => acc.
initialValue
U
Initial accumulator.
Returns
U
Final accumulator.
Remarks
Time O(n), Space O(1)
Inherited from
reverse()
reverse(): this;
Defined in: data-structures/linked-list/singly-linked-list.ts:1055
Reverse the list in place.
Returns
this
This list.
Remarks
Time O(N), Space O(1)
Example
// Reverse the list in-place
const list = new SinglyLinkedList<number>([1, 2, 3, 4]);
list.reverse();
console.log([...list]); // [4, 3, 2, 1];
Inherited from
search()
search(elementNodeOrPredicate): E | undefined;
Defined in: data-structures/linked-list/singly-linked-list.ts:602
Find the first value matching a predicate (by node).
Parameters
elementNodeOrPredicate
| E
| SinglyLinkedListNode<E>
| ((node) => boolean)
Element, node, or node predicate to match.
Returns
E | undefined
Matched value or undefined.
Remarks
Time O(N), Space O(1)
Inherited from
setAt()
setAt(index, value): boolean;
Defined in: data-structures/linked-list/singly-linked-list.ts:909
Set the element value at an index.
Parameters
index
number
Zero-based index.
value
E
New value.
Returns
boolean
True if updated.
Remarks
Time O(N), Space O(1)
Inherited from
setEquality()
setEquality(equals): this;
Defined in: data-structures/linked-list/singly-linked-list.ts:1223
Set the equality comparator used to compare values.
Parameters
equals
(a, b) => boolean
Equality predicate (a, b) → boolean.
Returns
this
This list.
Remarks
Time O(1), Space O(1)
Inherited from
shift()
shift(): E | undefined;
Defined in: data-structures/linked-list/singly-linked-list.ts:481
Remove and return the head element.
Returns
E | undefined
Removed element or undefined.
Remarks
Time O(1), Space O(1)
Example
// Remove from the front
const list = new SinglyLinkedList<number>([10, 20, 30]);
console.log(list.shift()); // 10;
console.log(list.length); // 2;
Inherited from
slice()
slice(start?, end?): this;
Defined in: data-structures/base/linear-base.ts:494
Slice via forward iteration (no random access required).
Parameters
start?
number = 0
Inclusive start (supports negative index).
end?
number = ...
Exclusive end (supports negative index).
Returns
this
New list (this type).
Remarks
Time O(n), Space O(n)
Inherited from
some()
some(predicate, thisArg?): boolean;
Defined in: data-structures/base/iterable-element-base.ts:109
Tests whether at least one element satisfies the predicate.
Parameters
predicate
ElementCallback<E, R, boolean>
Function invoked for each element with signature (value, index, self).
thisArg?
unknown
Optional this binding for the predicate.
Returns
boolean
true if any element passes; otherwise false.
Remarks
Time O(n) in the worst case; may exit early on first success. Space O(1).
Inherited from
sort()
sort(compareFn?): this;
Defined in: data-structures/base/linear-base.ts:185
In-place stable order via array sort semantics.
Parameters
compareFn?
(a, b) => number
Comparator (a, b) => number.
Returns
this
This container.
Remarks
Time O(n log n), Space O(n) (materializes to array temporarily)
Inherited from
splice()
splice(
start,
deleteCount?, ...
items?): this;
Defined in: data-structures/linked-list/singly-linked-list.ts:1149
Remove and/or insert elements at a position (array-like behavior).
Parameters
start
number
Start index (clamped to [0, length]).
deleteCount?
number = 0
Number of elements to remove (default 0).
items?
...E[]
Elements to insert after start.
Returns
this
A new list containing the removed elements (typed as this).
Remarks
Time O(N + M), Space O(M)
Inherited from
toArray()
toArray(): E[];
Defined in: data-structures/base/iterable-element-base.ts:245
Materializes the elements into a new array.
Returns
E[]
A shallow array copy of the iteration order.
Remarks
Time O(n), Space O(n).
Inherited from
toReversedArray()
toReversedArray(): E[];
Defined in: data-structures/base/linear-base.ts:237
Snapshot elements into a reversed array.
Returns
E[]
New reversed array.
Remarks
Time O(n), Space O(n)
Inherited from
SinglyLinkedList.toReversedArray
toVisual()
toVisual(): E[];
Defined in: data-structures/base/iterable-element-base.ts:257
Returns a representation of the structure suitable for quick visualization. Defaults to an array of elements; subclasses may override to provide richer visuals.
Returns
E[]
A visual representation (array by default).
Remarks
Time O(n), Space O(n).
Inherited from
unshift()
unshift(elementOrNode): boolean;
Defined in: data-structures/linked-list/singly-linked-list.ts:551
Prepend an element/node to the head.
Parameters
elementOrNode
E | SinglyLinkedListNode<E>
Element or node to prepend.
Returns
boolean
True when prepended.
Remarks
Time O(1), Space O(1)
Example
// SinglyLinkedList unshift and forward traversal
const list = new SinglyLinkedList<number>([20, 30, 40]);
// Unshift adds to the beginning
list.unshift(10);
console.log([...list]); // [10, 20, 30, 40];
// Access elements (forward traversal only for singly linked)
const second = list.at(1);
console.log(second); // 20;
// SinglyLinkedList allows forward iteration only
const elements: number[] = [];
for (const item of list) {
elements.push(item);
}
console.log(elements); // [10, 20, 30, 40];
console.log(list.length); // 4;
Inherited from
unshiftMany()
unshiftMany(elements): boolean[];
Defined in: data-structures/linked-list/singly-linked-list.ts:586
Prepend a sequence of elements/nodes.
Parameters
elements
| Iterable<E, any, any>
| Iterable<R, any, any>
| Iterable<SinglyLinkedListNode<E>, any, any>
Iterable of elements or nodes (or raw records if toElementFn is provided).
Returns
boolean[]
Array of per-element success flags.
Remarks
Time O(N), Space O(1)
Inherited from
values()
values(): IterableIterator<E>;
Defined in: data-structures/base/iterable-element-base.ts:71
Returns an iterator over the values (alias of the default iterator).
Returns
IterableIterator<E>
An IterableIterator<E> over all elements.
Remarks
Creating the iterator is O(1); full iteration is Time O(n), Space O(1).
Inherited from
from()
static from<E, R, S>(
this,
data,
options?): S;
Defined in: data-structures/linked-list/singly-linked-list.ts:281
Create a new list from an iterable of elements.
Type Parameters
E
E
R
R = any
S
S extends SinglyLinkedList<E, R> = SinglyLinkedList<E, R>
Parameters
this
Object
The constructor (subclass) to instantiate.
data
Iterable<E>
Iterable of elements to insert.
options?
SinglyLinkedListOptions<E, R>
Options forwarded to the constructor.
Returns
S
A new list populated with the iterable's elements.
Remarks
Time O(N), Space O(N)
Inherited from
Protected Members
_toElementFn?
protected optional _toElementFn?: (rawElement) => E;
Defined in: data-structures/base/iterable-element-base.ts:38
The converter used to transform a raw element (R) into a public element (E).
Parameters
rawElement
R
Returns
E
Remarks
Time O(1), Space O(1).
Inherited from
Accessors
_createInstance()
protected _createInstance(options?): this;
Defined in: data-structures/linked-list/singly-linked-list.ts:1563
(Protected) Create an empty instance of the same concrete class.
Parameters
options?
SinglyLinkedListOptions<E, R>
Options forwarded to the constructor.
Returns
this
An empty like-kind list instance.
Remarks
Time O(1), Space O(1)
Inherited from
SinglyLinkedList._createInstance
_createLike()
protected _createLike<EM, RM>(elements?, options?): SinglyLinkedList<EM, RM>;
Defined in: data-structures/linked-list/singly-linked-list.ts:1581
(Protected) Create a like-kind instance and seed it from an iterable.
Type Parameters
EM
EM
RM
RM
Parameters
elements?
| Iterable<EM, any, any>
| Iterable<RM, any, any>
| Iterable<SinglyLinkedListNode<EM>, any, any>
Iterable used to seed the new list.
options?
SinglyLinkedListOptions<EM, RM>
Options forwarded to the constructor.
Returns
SinglyLinkedList<EM, RM>
A like-kind SinglyLinkedList instance.
Remarks
Time O(N), Space O(N)
Inherited from
_ensureNode()
protected _ensureNode(elementOrNode): SinglyLinkedListNode<E>;
Defined in: data-structures/linked-list/singly-linked-list.ts:1482
(Protected) Normalize input into a node instance.
Parameters
elementOrNode
E | SinglyLinkedListNode<E>
Element or node.
Returns
A SinglyLinkedListNode for the provided input.
Remarks
Time O(1), Space O(1)
Inherited from
_ensurePredicate()
protected _ensurePredicate(elementNodeOrPredicate): (node) => boolean;
Defined in: data-structures/linked-list/singly-linked-list.ts:1494
(Protected) Normalize input into a node predicate.
Parameters
elementNodeOrPredicate
| E
| SinglyLinkedListNode<E>
| ((node) => boolean)
Element, node, or predicate.
Returns
A predicate taking a node and returning true/false.
(node) => boolean
Remarks
Time O(1), Space O(1)
Inherited from
SinglyLinkedList._ensurePredicate
_getIterator()
protected _getIterator(): IterableIterator<E>;
Defined in: data-structures/linked-list/singly-linked-list.ts:1523
(Protected) Iterate values from head to tail.
Returns
IterableIterator<E>
Iterator of values (E).
Remarks
Time O(N), Space O(1)
Inherited from
_getNodeIterator()
protected _getNodeIterator(): IterableIterator<SinglyLinkedListNode<E>>;
Defined in: data-structures/linked-list/singly-linked-list.ts:1548
(Protected) Iterate nodes from head to tail.
Returns
IterableIterator<SinglyLinkedListNode<E>>
Iterator of nodes.
Remarks
Time O(N), Space O(1)
Inherited from
SinglyLinkedList._getNodeIterator
_getPrevNode()
protected _getPrevNode(node): SinglyLinkedListNode<E> | undefined;
Defined in: data-structures/linked-list/singly-linked-list.ts:1510
(Protected) Get the previous node of a given node.
Parameters
node
A node in the list.
Returns
SinglyLinkedListNode<E> | undefined
Previous node or undefined.
Remarks
Time O(N), Space O(1)
Inherited from
_getReverseIterator()
protected _getReverseIterator(): IterableIterator<E>;
Defined in: data-structures/linked-list/singly-linked-list.ts:1537
(Protected) Iterate values from tail to head.
Returns
IterableIterator<E>
Iterator of values (E).
Remarks
Time O(N), Space O(N)
Inherited from
SinglyLinkedList._getReverseIterator
_isPredicate()
protected _isPredicate(elementNodeOrPredicate): elementNodeOrPredicate is (node: SinglyLinkedListNode<E>) => boolean;
Defined in: data-structures/linked-list/singly-linked-list.ts:1469
(Protected) Check if input is a node predicate function.
Parameters
elementNodeOrPredicate
| E
| SinglyLinkedListNode<E>
| ((node) => boolean)
Element, node, or node predicate.
Returns
elementNodeOrPredicate is (node: SinglyLinkedListNode<E>) => boolean
True if input is a predicate function.
Remarks
Time O(1), Space O(1)
Inherited from
_spawnLike()
protected _spawnLike<EM, RM>(options?): SinglyLinkedList<EM, RM>;
Defined in: data-structures/linked-list/singly-linked-list.ts:1601
(Protected) Spawn an empty like-kind list instance.
Type Parameters
EM
EM
RM
RM
Parameters
options?
SinglyLinkedListOptions<EM, RM>
Options forwarded to the constructor.
Returns
SinglyLinkedList<EM, RM>
An empty like-kind SinglyLinkedList instance.
Remarks
Time O(1), Space O(1)
Inherited from
createNode()
protected createNode(value): SinglyLinkedListNode<E>;
Defined in: data-structures/linked-list/singly-linked-list.ts:1458
(Protected) Create a node from a value.
Parameters
value
E
Value to wrap in a node.
Returns
A new SinglyLinkedListNode instance.
Remarks
Time O(1), Space O(1)