数据结构与算法--栈

42 阅读1分钟

栈是一种遵从后进先出(LIFO)原则的有序集合。新添加的或待删除的元素都保存在栈的
末尾,称作栈顶,另一端就叫栈底。在栈里,新元素都靠近栈顶,旧元素都接近栈底。
–《学习javaScript数据结构与算法》

/*栈
    * push 添加新元素到栈顶
    * pop  移除栈顶元素,同时返回被移除的元素
    * peek 返回栈顶元素
    * isEmpty 是否为空栈
    * clear   清空栈
    * size    返回栈的长度
    * */
    class Stack {
        constructor() {
            this.items = []
        }
        push(item) {
            this.items.push(item)
        }
        pop() {
            return this.items.pop()
        }
        peek() {
            return this.items[items.length - 1]
        }
        isEmpty() {
            return this.items.length === 0
        }
        size() {
            return this.items.length
        }
        clear() {
            this.items.length = 0
        }
        print() {
            console.log(this.items.toString());
        }
    }

    let stack = new Stack()
    stack.push(5);