tstruct
Version:
Data structures & basic algorithms library
34 lines (33 loc) • 1.01 kB
TypeScript
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>;
}