@gabrielrufino/cube
Version:
Data structures made in Typescript
23 lines (22 loc) • 787 B
TypeScript
import type ILinkedList from './ILinkedList';
import type ILinkedListItem from './ILinkedListItem';
export default class LinkedList<T = number> implements ILinkedList<T> {
private readonly _FIRST_POSITION;
private _head;
private _size;
constructor(...inputs: Readonly<T[]>);
get data(): {
value: T;
next: NonNullable<T> | null;
}[];
get size(): number;
get isEmpty(): boolean;
positionOf(element: T): number | undefined;
push(element: T): T;
remove(element: T): T | null;
insertInPosition(element: T, position: number): T | undefined;
getFromPosition(position: number): ILinkedListItem<T> | null;
removeFromPosition(position: number): T | null;
private _getNodeFromPosition;
private [Symbol.toPrimitive];
}