使用js实现数据结构栈
说明:
栈是是一种遵从后进先出原则的有序集合。新添加的元素都保存在栈的一端,称作栈顶,另一端叫做栈底。在栈中,新元素都靠近栈顶,旧元素都靠近栈底。
功能:
push:往栈里追加元素
pop:删除栈里的元素,同时返回该元素
peek:获取栈顶的元素,并返回
clear:清空栈里的所有元素
isEmpty: 判断栈是否为空,返回true or false
size:判断栈里元素的个数
具体代码如下:
//创建一个类Stack用来表示栈,并初始化一个空数组item,用来存储栈里的元素
class Stack {
constructor() {
this.item=[];
}
push(value) {
this.item.push(value)
}
pop() {
return this.item.pop()
}
peek() {
return this.item[this.item.length-1]
}
clear() {
this.item=[]
}
isEmpty() {
return this.item.length==0
}
size() {
return this.item.length
}
}
测试:
//创建一个栈的实例
var stack=new Stack();
//往栈里添加元素3,4,5,6,7
stack.push(3);
stack.push(4);
stack.push(5);
stack.push(6);
stack.push(7);
console.log(stack) //此时栈是[3,4,5,6,7]
console.log(stack.pop()) //因为栈是后进先出的,所以此时弹出的是7
console.log(stack) //此时栈是[3,4,5,6]
console.log(stack.peek()) //获取栈顶元素,此事为6
console.log(stack.size()) //此时栈的长度为4
console.log(stack.isEmpty())//判断栈是否为空,返回false
stack.clear() //清空栈
console.log(stack) //次数栈为空,[]