栈是一种遵从后进先出(LIFO)原则的有序集合。
在栈里,新元素都靠近栈顶,旧元素都接近栈低。比如叠书本:
来自《javascript数据结构与算法》
function Stack() {
//各种属性和方法的声明
}
//push() 方法将一个或多个元素添加到数组的末尾(栈顶),并返回数组的新长度
this.push = function(element) {
items.push(element);
};
//pop()方法移除栈顶的元素,同时返回被移除的元素。
this.pop = function() {
return items.pop();
};
this.peek = function(){
return items[items.length-1];
}
this.isEmpty = function() {
return items.length === 0;
}
this.size= function() {
return items.length;
}
this.clear = function() {
items = [];
}
这样我们就完成了一个栈的创建。全部代码:
function Stack() {
var items = [];
this.push = function(element) {
items.push(element);
};
this.pop = function() {
return items.pop();
};
this.peek = function() {
return items[items.length-1];
};
this.isEmpty = function() {
return items.length === 0
};
this.size = function() {
return items.length;
};
this.clear = function() {
items = [];
};
this.print = function() {
console.log(items);
};
}
var stack = new Stack();
console.log(stack.isEmpty());
stack.push(1);
stack.push(2);
stack.print(); //"[1,2]"
参考学习:
学习javascript数据结构与算法