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
最新推荐文章于 2024-10-02 05:39:15 发布
这篇博客介绍了一个用JavaScript实现的栈数据结构`functionListStack`。该栈具有初始化、检查空栈、获取栈顶元素、压栈、弹栈和获取栈长度等功能。示例中创建了一个容量为3的栈,并进行了压栈操作,最后执行了弹栈和获取栈长度的操作。
摘要由CSDN通过智能技术生成