UNPKG

1.03 kBTypeScriptView Raw
1/**
2 * @description 数据结构 - 链表
3 * @author fangzhicong
4 */
5/**
6 * 特殊链表(数据尾插入、插入前自动清理指针后边的数据、插入后指针永远定位于最后一位元素、可限制链表长度、指针双向移动)
7 */
8export declare class TailChain<T> {
9 /**
10 * 链表数据
11 */
12 protected data: T[];
13 /**
14 * 链表最大长度,零表示长度不限
15 */
16 protected max: number;
17 /**
18 * 指针
19 */
20 protected point: number;
21 protected isRe: boolean;
22 /**
23 * 允许用户重设一次 max 值
24 */
25 resetMax(maxSize: number): void;
26 /**
27 * 当前链表的长度
28 */
29 get size(): number;
30 /**
31 * 尾插入
32 * @param data 插入的数据
33 */
34 insertLast<K extends T>(data: K): this;
35 /**
36 * 获取当前指针元素
37 */
38 current(): T | undefined;
39 /**
40 * 获取上一指针元素
41 */
42 prev(): T | undefined;
43 /**
44 * 下一指针元素
45 */
46 next(): T | undefined;
47}