JS实现栈结构

简述

栈,是一种遵从后进先出(LIFO,Later-In-First-Out)原则的有序集合。新添加的元素都保存在栈的一端,称作栈顶,另一端叫做栈底。在栈中,新元素都靠近栈顶,旧元素都靠近栈底。

代码说明

首先,先创建一个类表示栈,并且初始化一个空数组,用来保存栈里的元素

  class Stack {
    constructor() {
      this.items = [];
    };
  }

接着,给这个栈声明一些方法:

1.push(value):添加一个新元素到栈顶
2.pop():移除栈顶的元素,同时返回该元素
3.peek():获取栈顶的元素
4.isEmpty():判断栈是否为空。是返回true,否返回fallse
5.clear():清空栈里的元素
6.size():获取栈里元素的个数
具体代码
class Stack {
    constructor() {
      this.items = [];
    };

    push(value) {
      this.items.push(value);
    };

    pop() {
      return this.items.pop();
    };

    peek() {
      return this.items[this.items.length - 1];
    };

    isEmpty() {
      return this.items.length === 0;
    };

    clear() {
      return this.items = [];
    };

    size() {
      return this.items.length;
    }
  }
测试
var stack = new Stack();
  stack.push(5);
  stack.push(6);
  stack.push(7);
  console.log(stack.pop());
  console.log(stack.peek());
  console.log(stack.isEmpty());
  console.log(stack.size());
  console.log(stack.clear());
  console.log(stack.size());
  console.log(stack);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值