数据结构——栈

什么是栈

栈是一种特殊得列表,线性存储结构,栈内得元素只能通过一端访问,这一端叫栈顶,数据只能在栈顶添加或者删除,它是一种后入先出得一种数据结构,例如洗盘子,只能从盘子最上面拿

实现一个栈,仅仅只是对原有数据进行了一次封装而已。而封装的结果是:并不去关心其内部的元素是什么,只是去操作栈顶元素。数组中也有类似得功能pop 和 push

class Stack {
    constructor() {
        this._items = []; // 储存数据
    }
    // 向栈内压入一个元素
    push(item) {
        this._items.push(item);
    }
    // 把栈顶元素弹出
    pop() {
        return this._items.pop();
    }
    // 返回栈顶元素
    peek() {
        return this._items[this._items.length - 1];
    }
    // 判断栈是否为空
    isEmpty() {
        return !this._items.length;
    }
    // 栈元素个数
    size() {
        return this._items.length;
    }
    // 清空栈
    clear() {
        this._items = [];
    }
}

let a = new Stack();
console.log(a.length());

module.exports = Stack;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值