UNPKG

tstruct

Version:

Data structures & basic algorithms library

34 lines (33 loc) 1.01 kB
export interface ILinkedListNode<T> { val: T; next?: ILinkedListNode<T>; } export declare class ILinkedListNode<T> implements ILinkedListNode<T> { val: T; next?: ILinkedListNode<T>; constructor(val: T, next?: ILinkedListNode<T>); } export interface ILinkedList<T> { add(val: T): void; remove(index: number): void; get(index: number): T; readonly size: number; readonly head: ILinkedListNode<T>; readonly tail: ILinkedListNode<T>; readonly isEmpty: boolean; [Symbol.iterator](): Iterator<T, any, undefined>; } export declare class LinkedList<T> implements ILinkedList<T>, Iterable<T> { private _head; private _tail; private _length; get head(): ILinkedListNode<T>; get tail(): ILinkedListNode<T>; get isEmpty(): boolean; add(val: T): void; private getNode; get(index: number): T; remove(index: number): void; get size(): number; [Symbol.iterator](): Iterator<T, any, undefined>; }