链表是一种常见的数据结构,用于存储和组织数据。堆栈(Stack)是一种特殊的数据结构,遵循先进后出(LIFO)的原则,即最后进入的元素最先被访问。
要通过链表实现一个最大长度为20的堆栈,可以按照以下步骤进行:
以下是一个示例的JavaScript代码实现:
class Node {
constructor(value) {
this.value = value;
this.next = null;
}
}
class Stack {
constructor() {
this.top = null;
this.length = 0;
}
push(value) {
if (this.length < 20) {
const newNode = new Node(value);
newNode.next = this.top;
this.top = newNode;
this.length++;
} else {
console.log("堆栈已满,无法添加新元素。");
}
}
pop() {
if (this.length > 0) {
const value = this.top.value;
this.top = this.top.next;
this.length--;
return value;
} else {
console.log("堆栈为空,无法移除元素。");
}
}
peek() {
if (this.length > 0) {
return this.top.value;
} else {
console.log("堆栈为空,无法获取顶部元素。");
}
}
isEmpty() {
return this.length === 0;
}
isFull() {
return this.length === 20;
}
}
// 示例用法
const stack = new Stack();
stack.push(1);
stack.push(2);
stack.push(3);
console.log(stack.pop()); // 输出:3
console.log(stack.peek()); // 输出:2
console.log(stack.isEmpty()); // 输出:false
console.log(stack.isFull()); // 输出:false
腾讯云相关产品和产品介绍链接地址:
云+社区沙龙online [国产数据库]
Elastic 实战工作坊
Elastic 实战工作坊
云+社区开发者大会(苏州站)
云+社区沙龙online第5期[架构演进]
云+社区技术沙龙[第29期]
Techo Day
云+社区沙龙online [技术应变力]
云+社区技术沙龙[第26期]
云+社区技术沙龙[第25期]
领取专属 10元无门槛券
手把手带您无忧上云