如何实现一个栈(Stack)

如何实现一个栈(Stack)

如何实现一个栈。

代码

ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
/**
* @desc 栈
*/
class Stack {
/**
* 构造方法
*/
constructor() {
/**
* 初始化栈
*/
this.stack = []
}

/**
* 向栈顶压入元素
*/
push(element) {
this.stack.push(element)
}

/**
* 从栈顶弹出元素
*/
pop(element) {
if (this.isEmpty()) {
return 'no element'
}
return this.stack.pop()
}

/**
* 获取栈顶元素
*/
peek() {
return this.stack[this.stack.length - 1]
}

/**
* 判断栈是否为空
*/
isEmpty() {
return this.stack.length === 0
}

/**
* 获取栈的大小
*/
size() {
return this.stack.length
}

/**
* 清空栈
*/
clear() {
this.stack.length = 0
}

/**
* 打印栈
*/
print() {
console.log(this.stack.toString())
}
}

评论