Stack栈的概念
我们知道栈是一种常用的后进先出(LIFO)的有序集合。栈的实际应用其实非常广泛。比如javascript执行时会形成调用栈,在内存里就是栈的结构。比如处理递归程序,有可能抛出一个栈溢出异常。常见算法里,回溯问题用栈存储访问过的任务或路径,进制转换算法可以用栈实现。
Stack栈的实现
首先创建Stack, Stack一般有 push(插入数据),pop(删除栈顶一条数据), peek(获取栈顶一条数据),size (栈的长度),isEmpty(判断栈是否空),print(打印整个栈信息)等方法。基本结构如下。
class Stack {
constructor () {
this.arr = []
}
push () {}
pop () {}
peek () {}
size () {}
isEmpty () {}
print () {}
}
这里arr就是一个数组,为了保存栈的数据。这是最简单的实现,