function ListStack(maxSize) {
this.maxSize = maxSize;
this.stack = new Array(maxSize);
this.top = -1;
this._length = 0;
this.clear = function () {
this.stack = new Array(maxSize);
this.top = -1;
this._length = 0;
};
this.empty = function () {
return this.top === -1;
};
this.get = function () {
if (this.empty()) {
throw new Error("栈为空");
}
return this.stack[this.top];
};
this.push = function (value) {
if (this.top === this.maxSize-1) {
throw new Error("栈已满");
}
this.top++;
this.stack[this.top] = value;
this._length++;
};
this.pop = function () {
if (this.empty()) {
throw new Error("栈为空");
}
const data = this.stack[this.top];
this.top--;
this._length--;
return data;
};
this.length = function () {
return this._length;
};
}
stack = new ListStack(3);
stack.push(10);
stack.push(10);
stack.push(10);
console.log(stack.pop())
console.log(stack.length())
console.log(stack.get())
【数据结构连载一栈】【顺序存储栈】javascript
最新推荐文章于 2021-07-27 12:59:07 发布