stack.d.ts 854 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. /**
  2. * @description 数据结构 - 栈
  3. * @author fangzhicong
  4. */
  5. /**
  6. * 栈(限制最大数据条数,栈满后可以继续入栈,而先入栈的数据将失效)
  7. */
  8. export declare class CeilStack<T> {
  9. /**
  10. * 数据缓存
  11. */
  12. protected data: T[];
  13. /**
  14. * 栈的最大长度。为零则长度不限
  15. */
  16. protected max: number;
  17. /**
  18. * 标识是否重设过 max 值
  19. */
  20. protected reset: boolean;
  21. constructor(max?: number);
  22. /**
  23. * 允许用户重设一次 max 值
  24. */
  25. resetMax(maxSize: number): void;
  26. /**
  27. * 当前栈中的数据条数
  28. */
  29. get size(): number;
  30. /**
  31. * 入栈
  32. * @param data 入栈的数据
  33. */
  34. instack(data: T): this;
  35. /**
  36. * 出栈
  37. */
  38. outstack(): T | undefined;
  39. /**
  40. * 清空栈
  41. */
  42. clear(): this;
  43. }