UNPKG

854 BTypeScriptView Raw
1/**
2 * @description 数据结构 - 栈
3 * @author fangzhicong
4 */
5/**
6 * 栈(限制最大数据条数,栈满后可以继续入栈,而先入栈的数据将失效)
7 */
8export 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}