什么是栈?
栈是一种特殊的列表,栈内的元素只能通过列表的一端访问,这一端称为栈顶。
-
特点
- 栈是一种高效的数据结构,因为数据只能在栈顶添加或删除,所以这样的操作更快,而且容易实现。
- 后进先出,任何不在栈顶的元素都无法访问。
-
操作
- 压栈:push()
- 出栈:pop()
- 访问栈顶元素:peek(),pop方法访问的时候会永久删除栈顶的元素,peek方法只返回栈顶元素而不是删除它。
-
实现
// 创建一个栈类 class Stack { constructor () { this.dataStore = [] this.top = 0 } push (element) { // 添加一个元素后,然后执行top加加,现在的top已经加了1 this.dataStore[this.top++] = element } pop () { return this.dataStore[--this.top] } peek () { return this.dataStore[this.top - 1] } }
- 可以用来判断字符串是否是回文