请实现一个Stack(pop,push,size,clear);
var stack = {
dataArr: [],
pop: function() {
var length = this.dataArr.length;
if(length <= 0) {
console.log('no data');
return false;
} else {
var lastData = this.dataArr[length];
this.dataArr.length = this.dataArr.length - 1;
return lastData;
}
},
push: function(data) {
this.dataArr[this.dataArr.length+1] = data;
return this.dataArr.length;
},
size: function() {
return this.dataArr.length;
},
clear: function(){
this.dataArr = [];
}
}
//Stack类
function stack(){
this.dataStore = [];/*栈模拟数组*/
this.top = 0; /*记录当前栈顶的位置*/
this.push = push;
this.pop = pop;
this.clear = clear;
this.size = size;
}
function push(element){
this.dataStore[this.top++] = element;
}
function pop(element){
return this.dataStore[--this.top];
}
function clear(){
this.top = 0 ;
}
function size(){
return this.top;
}
13 回答12.6k 阅读
7 回答1.7k 阅读
3 回答1k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
2 回答1.8k 阅读
2 回答1k 阅读✓ 已解决
JS 数组就可以作为一个 Stack,封装一下就可以。