@dsinjs/linked-list
Version:
Linked List for your DS in JS
79 lines (78 loc) • 2.13 kB
TypeScript
export declare class ExtendedWindow extends Window {
DSinJS: {
LinkedListElement: typeof LinkedListElement;
};
LinkedListElement: typeof LinkedListElement;
}
/**
* Linked list element structure class.
* @class LinkedListElementStruct
*/
export declare class LinkedListElementStruct<T> {
data: T;
next?: LinkedListElementStruct<T> | null;
}
/**
* Linked list element class, contains data node and next pointer (element).
* @class LinkedListElement
* @public
* @example
* var elem = new LinkedListElement(15);
* var elem2 = new LinkedListElement(30, elem);
* console.log(elem2.next.data); // 15
*/
export declare class LinkedListElement<T> {
/**
* @property data
* Contains actual value
* @type {T}
* @public
*/
data: T;
/**
* @property next
* Contains next element
* @type {LinkedListElement<T>}
* @public
*/
next: LinkedListElement<T> | null;
/**
* Standard constructor
* @param {T} data Value to be set
* @param {LinkedListElement<T>} next Optiona, Next element in the list.
*/
constructor(data: T, next?: LinkedListElement<T> | null);
/**
* Converts current element and all next elements in json format.
* @public
* @method toJSON
* @member
* @public
* @returns {LinkedListElementStruct<T>} valid json object.
* @example
* var elem = new LinkedListElement(30);
* var elem2 = new LinkedListElement(15, elem);
* elem2.toJSON(); // =>
* {
* "data": 15,
* "next": {
* "data": 30,
* "next": null
* }
* }
*/
toJSON(): LinkedListElementStruct<T>;
/**
* Converts current element and all next elements in string format.
* @public
* @method toString
* @member
* @public
* @returns {string} valid string.
* @example
* var elem = new LinkedListElement(30);
* var elem2 = new LinkedListElement(15, elem);
* elem2.toString(); // => 1530
*/
toString(): string;
}