【数据结构--之栈】 js实现栈的功能

69 阅读1分钟

栈是一种 先进后出的结构

image.png

栈常见的操作:

  • push(element): 添加一个新元素到栈顶位置. - pop():移除栈顶的元素,同时返回被移除的元素。 - peek():返回栈顶的元素,不对栈做任何修改(这个方法不会移除栈顶的元素,仅仅返回它)。 - isEmpty():如果栈里没有任何元素就返回true,否则返回false。 - clear():移除栈里的所有元素。 - size():返回栈里的元素个数。这个方法和数组的length属性很类似。

用原生js实现栈额功能 用class

class stack{
        // 创造一个空数组
        constructor(){
            this.item = []
        }
        // 入栈
        push(el){
            this.item.push(el)
        }
        // 出栈
        get pop(){
            return this.item.pop()
        }
        // 返回栈顶元素
        get peek(){
            return this.item[this.item.length-1]
        }
        // 是否为空 空返回true 反之false
        get isEmpty(){
            return !this.item.length
        }
        // 移除栈里的所有元素
        get clear(){
            this.item = []
        }
        // 返回栈里的元素个数
        get size(){
            return this.item.length
        }
    }

开始使用:

let stackLast = new stack
     console.log(stackLast.isEmpty);    
     stackLast.push(5)
     stackLast.push(4)
     stackLast.push(6)
     console.log(stackLast.size);    
    console.log(stackLast.peek); 
    console.log(JSON.stringify(stackLast))
    stackLast.clear
    console.log(JSON.stringify(stackLast))
    console.log(stackLast.peek);