Javascript 中的堆栈数据结构
编程中堆栈的用例 -
基本操作
在 Javascript 中创建 Stack 数据结构的方向
示例用法
栈是计算机科学中最常见的数据结构之一。栈是同类数据元素的有序集合,其插入和删除操作都在一端进行,即所谓的“尾端”,top
这意味着最后插入的元素必须先被删除。
堆栈也称为LAST IN FIST OUT(LIFO)
。
Javascript 没有内置 Stack 数据结构,但这并不限制您使用已经内置的数据类型(如数组)来构建一个。
Stack 的实际应用:
- 书籍、衣服堆在一起
- 建筑物的楼层。
编程中堆栈的用例 -
- 浏览器后退按钮。
- 反转字符串
- 转换表达式(前缀-中缀-后缀)
- 递归函数。
- 维护任何类型的后进先出 (LIFO) 数据。
基本操作
可以执行的基本操作是Insertion
、deletion
和display
。
PUSH(插入术语) ——将元素插入或添加到堆栈中。它将对象放在堆栈的顶部。
POP(删除术语) ——从堆栈中删除或移除一个元素。它从堆栈顶部移除一个对象。
IsEmpty - 报告堆栈是否为空。
IsFull - 报告堆栈是否超出限制。
Peek——返回top
记录但不弹出它。
在 Javascript 中创建 Stack 数据结构的方向
创建一个堆栈数据结构。堆栈应该是一个具有方法的类push
,,pop
和peek
。将元素添加到堆栈中应该存储它直到它被移除。
示例用法
const s = new Stack();
s.push(1);
s.push(2);
s.push(3);
s.pop(); //returns 3
s.pop(); // returns 2
//Implementing Stack using arrays
class Stack {
constructor() {
// data is a normal array data type built into javascript
this.data = [];
}
//It places the item on top of the stack
push(item) {
this.data.push(item);
}
// It removes an item from the top of the stack
pop() {
return this.data.pop();
}
// peek is to return the last record inside of our array without actually removing it.
peek() {
return this.data[this.data.length - 1];
}
}
module.exports = Stack;
在本系列的下一篇文章中,我们将使用 Javascript 中的队列实现堆栈。
如果您是视觉学习者,请务必查看这款工具。它名为 QuokkaJS。它是一款用于快速编写 JavaScript/TypeScript 原型的开发人员生产力工具。运行时值会在您输入代码时更新并显示在 IDE 中代码旁边。QuokkaJS
如果您发现本文有用,请点击关注此频道以获取有关使用 Javascript 的数据结构的更多文章。