数组是计算机科学中最常用的数据结构。通过数组可以保存元素,创建栈。
栈需要的一些基本方法
- 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来实现。