栈,后进先出,受限制的线性表。
只允许在一端进行添加和删除操作。
以下代码是栈的封装及使用:
<script>
//封装栈类
function Stack(){
//栈中的属性
this.items = [];
//栈的相关操作
//1、将元素压入栈
Stack.prototype.push = function(element){
this.items.push(element);
}
//2、从栈中取出栈顶元素
Stack.prototype.pop = function(){
return this.items.pop();
}
//3、查看栈顶元素
Stack.prototype.peek = function(){
return this.items[this.items.length-1];
}
//4、判断栈是否为空
Stack.prototype.isEmpty = function(){
return this.items.length == 0;
}
//5、获取栈中元素的个数
Stack.prototype.size = function(){
return this.items.length;
}
//6、toString方法
Stack.prototype.toString = function(){
var resultString = '';
for(var i=0;i<this.items.length;i++){
resultString += this.items[i] + '';
}
return resultString;
}
}
//栈的使用
var s = new Stack();
s.push(20);
s.push(12);
s.push(100);
s.pop();
s.pop();
alert(s);
alert(s.peek());
alert(s.isEmpty());
alert(s.size());
</script>
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。