chain.d.ts 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /**
  2. * @description 数据结构 - 链表
  3. * @author fangzhicong
  4. */
  5. /**
  6. * 特殊链表(数据尾插入、插入前自动清理指针后边的数据、插入后指针永远定位于最后一位元素、可限制链表长度、指针双向移动)
  7. */
  8. export 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. }