通过数组创建栈

数组是计算机科学中最常用的数据结构。通过数组可以保存元素,创建栈。

栈需要的一些基本方法
  • push :添加元素到栈顶;
  • pop : 移除栈顶的元素;
  • peek : 返回栈顶的元素;
  • isEmpty : 判断栈是否为空;
  • clear : 清空栈;
  • size : 返回栈中的元素数量;

1.创建Stack 类,并创建一个新数组

class STACK {
  constructor(){
      this.item = [];
  }
}

2.添加push方法

push(elements){
  this.item.push(elements);
}

3.添加pop方法

pop(){
  this.item.pop();
}

4.添加peek方法

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

5.添加isEmpty方法

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

6.添加clear方法

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

7.添加size方法

size(){
  return this.item.length;
}

使用方法

let stack = new STACK();

  • 从栈顶插入元素 : stack.push(3);
  • 从栈顶移除元素 : stack.pop();
  • 返回栈顶的元素 : stack.peek();
  • 判断栈是不是空的 : stack.isEmpty();
  • 清空栈 :stack.clear();
  • 查看栈的元素数量: stack.size();

【注意】
栈中的数据结构不应被外界访问到,而es6中的constructor中的属性可以被访问到,可以考虑用weakMap来实现。

你可能感兴趣的:(通过数组创建栈)