gxc-js-data-structure
Version:
Use JavaScript to implement some data structures and algorithms
62 lines (61 loc) • 1.51 kB
TypeScript
export declare class NodeItem {
data: any;
next: NodeItem | null;
constructor(data: any);
get [Symbol.toStringTag](): string;
}
export declare class LinkedList {
head: NodeItem | null;
constructor();
get [Symbol.toStringTag](): string;
/**
* 获取链表节点个数
*/
get size(): number;
/**
* 判断是否为空链表
*/
get isEmpty(): boolean;
/**
* 指定位置插入节点
* @param item 节点
* @param index 节点位置
*/
insert(item: any, index?: number): void;
/**
* 更新指定位置的节点
* @param item 节点
* @param index 节点位置
*/
update(item: any, index: number): any;
/**
* 获取指定位置的节点数据
* @param index 节点位置
*/
find(index: number): any;
/**
* 删除指定位置的节点
* @param index 节点位置
*/
removeAt(index: number): any;
/**
* 删除链表中满足提供的测试函数的第一个节点
* @param fn
*/
remove(fn: (node: any) => Boolean): any;
/**
* 获取指定位置的节点
* @param index 节点位置
*/
private findNodeItem;
/**
* 判断输入的index是否合法
* @param index 索引
*/
private judgedIndex;
/**
* 获得当前位置前一个节点(index不为0)
* @param index 索引
*/
private getPreviousItem;
}